*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --azul:#1C4EDD;--azul-escuro:#0f2e8a;--azul-claro:#e8edfb;--azul-mid:#5578e8;
  --preto:#0d0d0d;--cinza:#555;--cinza-claro:#f5f5f3;--branco:#fff;--borda:rgba(28,78,221,0.12);
  color-scheme:light dark
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;font-weight:300;background:var(--branco);color:var(--preto);line-height:1.7}

/* nav */
body > nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;background:#fff;border-bottom:1px solid var(--borda);box-shadow:0 2px 16px rgba(0,0,0,.08)}
.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.nav-logo img{height:54px;width:auto;display:block}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{text-decoration:none;font-size:.875rem;font-weight:400;color:var(--cinza);transition:color .2s}
.nav-links a:hover,.nav-links a.ativa{color:var(--azul)}

/* hero da página interna */
.page-hero{padding:8rem 3rem 4rem;background:var(--cinza-claro);border-bottom:1px solid var(--borda)}
.page-hero-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.1;color:var(--preto);margin-bottom:.75rem}
.page-hero-title em{color:var(--azul);font-style:normal}
.page-hero-sub{font-size:1.05rem;color:var(--cinza);max-width:560px;line-height:1.8}

/* hero wrapper + section */
.hero-wrapper{max-width:1200px;margin:0 auto}
#inicio{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;padding:8rem 3rem 4rem;min-height:100vh}

/* hero da home */
.hero-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--azul);border:1px solid rgba(28,78,221,0.25);padding:.35rem .9rem;border-radius:100px;margin-bottom:1.5rem}
.hero-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--azul);flex-shrink:0}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.1;font-weight:600;color:var(--preto);margin-bottom:1.25rem}
.hero-title em{color:var(--azul);font-style:normal}
.hero-sub{font-size:1.05rem;font-weight:300;color:var(--cinza);max-width:480px;margin-bottom:2.5rem;line-height:1.8}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.btn-primary{display:inline-flex;align-items:center;gap:.45rem;background:var(--azul);color:#fff;text-decoration:none;padding:.8rem 1.75rem;border-radius:100px;font-size:.9rem;font-weight:500;transition:background .2s,transform .15s}
.btn-primary:hover{background:var(--azul-escuro);transform:translateY(-1px)}
.btn-outline{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(28,78,221,0.3);color:var(--azul);text-decoration:none;padding:.8rem 1.75rem;border-radius:100px;font-size:.9rem;font-weight:400;transition:border-color .2s,background .2s}
.btn-outline:hover{border-color:var(--azul);background:var(--azul-claro)}
.hero-stats{display:flex;gap:2.5rem}
.stat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:600;color:var(--azul)}
.stat-label{font-size:.78rem;color:var(--cinza);margin-top:.1rem}
.hero-visual{display:flex;justify-content:center;align-items:center;position:relative}
.hero-logo-wrap{position:relative;width:100%;max-width:500px}
.hero-logo-wrap::before{content:'';position:absolute;inset:-24px;background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(28,78,221,.07) 0%,transparent 70%);border-radius:50%}
.hero-logo-svg{width:100%;height:auto;position:relative;z-index:1;filter:drop-shadow(0 4px 32px rgba(28,78,221,.1))}
.hero-dots{position:absolute;top:-16px;right:-16px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;opacity:.2}
.hero-dots span{width:4px;height:4px;border-radius:50%;background:var(--azul);display:block}

/* layout */
section{padding:6rem 3rem}
.container{max-width:1100px;margin:0 auto}
.section-label{font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--azul);margin-bottom:.6rem}
.divider{width:36px;height:2px;background:var(--azul);margin-bottom:1.25rem}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,2.5vw,2.4rem);font-weight:600;line-height:1.2;color:var(--preto);margin-bottom:.9rem}
.section-desc{font-size:1rem;color:var(--cinza);max-width:520px;line-height:1.8;margin-bottom:2.75rem}

/* professores */
.prof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem}
.prof-card{background:var(--branco);border:1px solid var(--borda);border-radius:16px;padding:1.75rem;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.prof-card:hover{transform:translateY(-3px);box-shadow:0 10px 36px rgba(28,78,221,.09)}
.prof-card::after{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--azul);opacity:0;transition:opacity .2s}
.prof-card:hover::after{opacity:1}
.prof-foto{width:88px;height:88px;border-radius:50%;object-fit:cover;margin-bottom:1rem;display:block}
.prof-avatar{width:88px;height:88px;border-radius:50%;background:var(--azul-claro);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:600;color:var(--azul-escuro);margin-bottom:1rem}
/* cores por índice (ordem % 5) */
.prof-avatar--0{background:rgba(28,78,221,.12);color:var(--azul-escuro)}
.prof-avatar--1{background:rgba(0,140,130,.11);color:#0a6b64}
.prof-avatar--2{background:rgba(200,50,50,.1);color:#a82020}
.prof-avatar--3{background:rgba(100,50,200,.1);color:#5523bb}
.prof-avatar--4{background:rgba(200,130,0,.12);color:#8b5800}
.prof-nome{font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--preto);margin-bottom:.25rem}
.prof-cargo{font-size:.75rem;color:var(--azul);font-weight:500;letter-spacing:.04em;margin-bottom:.7rem;text-transform:uppercase}
.prof-desc{font-size:.875rem;color:var(--cinza);line-height:1.65;margin-bottom:1rem}
.prof-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tag{font-size:.7rem;padding:.22rem .6rem;border-radius:100px;background:var(--azul-claro);color:var(--azul-escuro);font-weight:500}
.prof-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}

/* publicações */
.pub-list{display:flex;flex-direction:column}
.pub-year-group{margin-bottom:2.5rem}
.pub-year-label{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:600;color:var(--azul);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--borda)}
.pub-item{display:flex;gap:1.5rem;align-items:flex-start;padding:1.5rem 1.25rem;border-bottom:1px solid rgba(28,78,221,.08);transition:background .15s;border-radius:8px}
.pub-item:first-child{border-top:1px solid rgba(28,78,221,.08)}
.pub-item:hover{background:var(--azul-claro)}
.pub-year{min-width:48px;font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--azul);padding-top:.1rem}
.pub-body{flex:1}
.pub-title{font-size:.95rem;font-weight:500;color:var(--preto);margin-bottom:.3rem;line-height:1.5}
.pub-authors{font-size:.82rem;color:var(--cinza);margin-bottom:.35rem;font-style:italic}
.pub-journal{font-size:.82rem;color:var(--azul);font-weight:500}
.pub-badge{display:inline-block;font-size:.68rem;padding:.18rem .55rem;border-radius:100px;font-weight:500;margin-left:.5rem;background:var(--azul-claro);color:var(--azul-escuro)}
.pub-doi{display:inline-flex;align-items:center;gap:.3rem;text-decoration:none;font-size:.75rem;color:var(--cinza);border:1px solid var(--borda);padding:.18rem .55rem;border-radius:100px;margin-top:.5rem;transition:color .2s,border-color .2s}
.pub-doi:hover{color:var(--azul);border-color:var(--azul)}
.pub-doi:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:100px}
/* ações por publicação (DOI + Citar) */
.pub-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.5rem}
.pub-actions .pub-doi{margin-top:0}
.pub-citar{display:inline-flex;align-items:center;gap:.3rem;background:none;border:1px solid var(--borda);border-radius:100px;padding:.18rem .55rem;font-size:.75rem;color:var(--cinza);cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s}
.pub-citar:hover{color:var(--azul);border-color:var(--azul)}
.pub-citar:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:100px}
.pub-citar.copiado{color:#0a6b64;border-color:#0a6b64;background:rgba(0,140,130,.07)}

/* qualis colorido */
.pub-badge--q1{background:rgba(28,78,221,.12);color:var(--azul-escuro)}
.pub-badge--q2{background:rgba(0,140,130,.11);color:#0a6b64}
.pub-badge--q3{background:rgba(160,120,0,.1);color:#7a5f00}
.pub-badge--q4{background:rgba(150,150,150,.15);color:#555}

/* navegação por ano */
.pub-year-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;position:sticky;top:68px;z-index:80;background:var(--branco);padding:.75rem 0;border-bottom:1px solid var(--borda);margin-left:-3rem;margin-right:-3rem;padding-left:3rem;padding-right:3rem}
.pub-year-btn{font-size:.8rem;font-weight:500;color:var(--azul);border:1px solid rgba(28,78,221,.25);padding:.3rem .9rem;border-radius:100px;text-decoration:none;transition:background .15s,border-color .2s;white-space:nowrap}
.pub-year-btn:hover{background:var(--azul-claro);border-color:var(--azul)}
.pub-year-group{scroll-margin-top:130px}
.pub-year-label{font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--azul);margin-bottom:.6rem;padding-top:.5rem}
.pub-year-label::after{content:'';display:block;width:28px;height:2px;background:var(--azul);margin-top:.5rem;margin-bottom:1rem}

/* contagem na hero de publicações */
.page-hero-count{font-size:.8rem;color:var(--azul);font-weight:500;margin-top:.75rem;letter-spacing:.04em}
.page-hero-qualis{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}

/* prêmios */
section[id^="premio-"]{padding-top:2.5rem;padding-bottom:2.5rem;scroll-margin-top:120px}
.premio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.premio-card{border:1px solid rgba(28,78,221,.3);border-radius:16px;padding:1.75rem;position:relative;overflow:hidden;transition:border-color .2s,background .2s,box-shadow .2s}
.premio-card:hover{box-shadow:0 8px 28px rgba(28,78,221,.1)}
.premio-card:hover{border-color:var(--azul-mid);background:rgba(28,78,221,.08)}
.premio-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--azul),var(--azul-mid))}
.premio-topo{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}
.premio-icon{font-size:1.6rem}
.premio-ano{font-size:.72rem;color:var(--cinza);padding-top:.2rem}
.premio-nome{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:600;color:var(--preto);margin-bottom:.35rem}
.premio-entidade{font-size:.78rem;color:var(--azul-mid);font-weight:500;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.04em}
.premio-desc{font-size:.875rem;color:var(--cinza);line-height:1.65}

/* notícias */
.noticias-grid{display:grid;grid-template-columns:3fr 2fr;gap:1.25rem}
.noticia-destaque{background:var(--azul);border-radius:16px;padding:2.5rem;display:flex;flex-direction:column;justify-content:space-between;min-height:320px;position:relative;overflow:hidden}
.noticia-destaque::after{content:'GEMA';position:absolute;right:-8px;bottom:-24px;font-family:'Playfair Display',serif;font-size:7rem;font-weight:600;color:rgba(255,255,255,.06);line-height:1;pointer-events:none;user-select:none}
.noticia-data{font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.nd-data{color:rgba(255,255,255,.6);margin-bottom:.75rem}
.noticia-titulo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:600;color:var(--branco);margin-bottom:.75rem;line-height:1.3}
.noticia-texto{font-size:.9rem;line-height:1.7;color:rgba(255,255,255,.75);margin-bottom:1.5rem;flex:1}
.noticia-link-btn{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.15);color:#fff;text-decoration:none;padding:.65rem 1.25rem;border-radius:100px;font-size:.85rem;font-weight:500;width:fit-content;border:1px solid rgba(255,255,255,.25);transition:background .2s}
.noticia-link-btn:hover{background:rgba(255,255,255,.25)}
.noticia-link-btn:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:3px;border-radius:100px}
.noticias-lista{display:flex;flex-direction:column;gap:1rem}
.noticia-mini{border:1px solid var(--borda);border-radius:12px;padding:1.25rem 1.5rem;transition:border-color .2s,background .2s;flex:1}
.noticia-mini:hover{border-color:rgba(28,78,221,.4);background:var(--azul-claro)}
.nm-data{color:var(--azul);margin-bottom:.4rem}
.nm-titulo{font-size:.9rem;font-weight:500;color:var(--preto);line-height:1.4}
.nm-texto{font-size:.78rem;color:var(--cinza);line-height:1.55;margin-top:.35rem}
.noticia-card{border:1px solid var(--borda);border-radius:16px;padding:1.75rem;transition:transform .2s,box-shadow .2s}
.noticia-card:hover{transform:translateY(-3px);box-shadow:0 10px 36px rgba(28,78,221,.07)}
.noticia-card .noticia-data{color:var(--azul);display:block;margin-bottom:.75rem}
.noticia-card .noticia-titulo{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;color:var(--preto);margin-bottom:.6rem;line-height:1.3}
.noticia-card p{font-size:.875rem;color:var(--cinza);line-height:1.65;margin-bottom:1rem}
.noticia-card a{font-size:.82rem;color:var(--azul);text-decoration:none;font-weight:500}
.noticia-card a:hover{text-decoration:underline}
.noticias-all{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-top:1.5rem}

/* linha decorativa */
.linha-deco{padding:1.5rem 0;overflow:hidden;background:var(--azul-claro);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.linha-inner{display:flex;gap:3rem;align-items:center;animation:slide 22s linear infinite;white-space:nowrap;width:max-content;will-change:transform}
.linha-item{font-size:.8rem;font-weight:500;color:var(--azul);letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.linha-dot{width:4px;height:4px;border-radius:50%;background:var(--azul);opacity:.3;flex-shrink:0}
@keyframes slide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* pesquisa linhas */
.linhas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-top:3rem}
.linha-card{border:1px solid var(--borda);border-radius:16px;padding:2rem;background:var(--branco);transition:box-shadow .2s,transform .2s}
.linha-card:hover{box-shadow:0 8px 32px rgba(28,78,221,.08);transform:translateY(-2px)}
.linha-num{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:600;color:var(--azul-claro);line-height:1;margin-bottom:1rem}
.linha-titulo{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;color:var(--preto);margin-bottom:.6rem}
.linha-desc{font-size:.875rem;color:var(--cinza);line-height:1.65}

/* footer */
footer{background:var(--preto);padding:4.5rem 3rem 2rem}
.footer-top{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:2rem}
.footer-logo-svg{height:64px;width:auto;margin-bottom:1rem;filter:brightness(0) invert(1)}
.footer-tagline{font-size:.875rem;color:rgba(255,255,255,.4);line-height:1.7}
.footer-col-title{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:1rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-links a{text-decoration:none;font-size:.875rem;color:rgba(255,255,255,.4);transition:color .2s}
.footer-links a:hover{color:var(--azul-mid)}
.footer-bottom{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:rgba(255,255,255,.25)}
.footer-bottom a{color:var(--azul-mid);text-decoration:none}

/* ── voltar ao topo ─────────────────────────────────────────────────────── */
.back-to-top{position:fixed;bottom:1.75rem;right:1.75rem;width:44px;height:44px;border-radius:50%;background:var(--azul);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s,background .2s;z-index:200;box-shadow:0 4px 18px rgba(28,78,221,.3)}
.back-to-top.visible{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--azul-escuro)}
.back-to-top:focus-visible{outline:2px solid var(--azul);outline-offset:4px;border-radius:50%}

/* ── animações de entrada ────────────────────────────────────────────────── */
.fade-in{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.fade-in--visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .fade-in,.fade-in--visible{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ── busca / filtro de publicações ───────────────────────────────────────── */
.pub-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:2rem;padding:1.25rem 1.5rem;background:var(--cinza-claro);border-radius:14px;border:1px solid var(--borda)}
.pub-search-wrap{position:relative;flex:1;min-width:200px}
.pub-search{width:100%;padding:.6rem 2.2rem .6rem 2.4rem;font-family:inherit;font-size:.875rem;border:1px solid var(--borda);border-radius:100px;background:var(--branco);color:var(--preto);outline:none;transition:border-color .2s}
.pub-search:focus{border-color:var(--azul);box-shadow:0 0 0 3px rgba(28,78,221,.08)}
.pub-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--cinza);pointer-events:none}
/* hint de atalho "/" */
.pub-search-kbd{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;transition:opacity .15s}
.pub-search-kbd kbd{font-size:.68rem;font-family:inherit;border:1px solid var(--borda);border-radius:4px;padding:.1rem .38rem;color:var(--cinza);background:var(--branco);font-weight:500;line-height:1.4}
.pub-search:focus~.pub-search-kbd{opacity:0}
.pub-search-wrap.has-value .pub-search-kbd{display:none}
/* botão × limpar */
.pub-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--cinza);padding:.28rem;display:none;align-items:center;justify-content:center;border-radius:50%;transition:color .15s,background .15s}
.pub-search-clear:hover{color:var(--preto);background:rgba(0,0,0,.07)}
.pub-search-wrap.has-value .pub-search-clear{display:flex}
.pub-search-wrap.has-value .pub-search{padding-right:2.6rem}
/* scroll-margin para sections com id (evita sobreposição com nav fixa) */
section[id]{scroll-margin-top:84px}
.pub-filter-qualis{display:flex;flex-wrap:wrap;gap:.4rem}
.pub-filter-btn{font-size:.78rem;font-weight:500;padding:.3rem .85rem;border-radius:100px;border:1px solid rgba(28,78,221,.3);background:transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s;color:var(--azul);font-family:inherit}
.pub-filter-btn.is-active{background:var(--azul);color:#fff;border-color:var(--azul)}
.pub-filter-btn.pub-badge--q2{color:#0a6b64;border-color:rgba(0,140,130,.3)}
.pub-filter-btn.pub-badge--q2.is-active{background:#0a6b64;color:#fff;border-color:#0a6b64}
.pub-filter-btn.pub-badge--q3{color:#7a5f00;border-color:rgba(160,120,0,.3)}
.pub-filter-btn.pub-badge--q3.is-active{background:#7a5f00;color:#fff;border-color:#7a5f00}
.pub-filter-btn:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:100px}
.pub-print-btn:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:100px}
.pub-reset:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:100px}
.pub-year-btn:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:100px}
.btn-primary:focus-visible,.btn-outline:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:100px}
.btn-join:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:3px;border-radius:100px}
.pub-hidden{display:none !important}
.pub-no-results{padding:3rem 1rem;text-align:center;color:var(--cinza);font-size:.95rem;display:none}
.pub-no-results.visible{display:block}
.pub-reset{background:none;border:1px solid rgba(28,78,221,.3);border-radius:100px;color:var(--azul);padding:.25rem .7rem;font-size:.8rem;cursor:pointer;margin-left:.5rem;font-family:inherit;transition:background .15s}
.pub-reset:hover{background:var(--azul-claro)}

/* esconde coluna de ano redundante dentro dos grupos de ano */
.pub-year-group .pub-item .pub-year{display:none}

/* ── navegação por ano de prêmios ────────────────────────────────────────── */
.premio-year-nav{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 3rem;background:var(--branco);border-bottom:1px solid var(--borda);position:sticky;top:68px;z-index:80}
.premio-year-nav .pub-year-btn{border-color:rgba(28,78,221,.25);color:var(--azul)}
.premio-year-nav .pub-year-btn:hover{background:var(--azul-claro);border-color:var(--azul)}
.pub-year-count{font-size:.72em;opacity:.6;font-family:'DM Sans',sans-serif}
.premio-year-nav .pub-year-btn.is-active{background:var(--azul);color:#fff;border-color:var(--azul)}
@media(max-width:600px){
  .premio-year-nav{padding:.6rem 1.25rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem}
  .premio-year-nav::-webkit-scrollbar{display:none}
}

/* ── barra de stats de prêmios ───────────────────────────────────────────── */
.premios-statsbar{background:var(--cinza-claro);border-bottom:1px solid var(--borda);padding:.1rem 0}
.premios-statsbar .psi-num{color:var(--azul)}
.premios-statsbar .psi-label{color:var(--cinza)}
.premios-statsbar .psi-div{background:rgba(28,78,221,.18)}
.premios-stats{display:flex;align-items:center;gap:0;padding:.75rem 0}
.psi{display:flex;flex-direction:column;gap:.18rem;padding:1rem 2.5rem 1rem 0}
.psi-num{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:600;color:var(--azul-mid);line-height:1}
.psi-label{font-size:.68rem;color:var(--cinza);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.psi-div{width:1px;height:2.5rem;background:rgba(28,78,221,.18);margin-right:2.5rem;flex-shrink:0}

/* ── contador de resultados ──────────────────────────────────────────────── */
.pub-result-count{font-size:.8rem;font-weight:500;color:var(--azul);margin-bottom:1.25rem;letter-spacing:.02em;transition:background .2s,color .2s,padding .2s}
.pub-result-count.filtered{background:var(--azul-claro);color:var(--azul-escuro);padding:.2rem .75rem;border-radius:100px;display:inline-block}

/* ano ativo no scrollspy */
.pub-year-btn.is-active{background:var(--azul);color:#fff;border-color:var(--azul)}

/* título de mini notícia como link */
.nm-titulo a{color:inherit;text-decoration:none}
.nm-titulo a:hover{color:var(--azul)}

/* ── badge destaque notícia ─────────────────────────────────────────────── */
.noticia-badge{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--azul);color:#fff;padding:.18rem .65rem;border-radius:100px;margin-bottom:.6rem}
.noticia-card--destaque{border-color:rgba(28,78,221,.35);background:rgba(28,78,221,.025)}

/* ── botão imprimir ──────────────────────────────────────────────────────── */
.pub-print-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--borda);border-radius:100px;padding:.3rem .85rem;font-size:.78rem;color:var(--cinza);cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s;white-space:nowrap}
.pub-print-btn:hover{border-color:var(--preto);color:var(--preto)}

/* ── cards de navegação rápida (homepage) ───────────────────────────────── */
.home-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin-top:2.5rem}
.home-nav-card{display:flex;flex-direction:column;border:1px solid var(--borda);border-radius:16px;padding:2rem;text-decoration:none;color:inherit;background:var(--branco);transition:transform .2s,box-shadow .2s,border-color .2s}
.home-nav-card:hover{transform:translateY(-3px);box-shadow:0 10px 36px rgba(28,78,221,.09);border-color:rgba(28,78,221,.3)}
.home-nav-icon{font-size:2rem;margin-bottom:1rem;line-height:1}
.home-nav-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;color:var(--preto);margin-bottom:.5rem}
.home-nav-desc{font-size:.875rem;color:var(--cinza);line-height:1.65;flex:1;margin-bottom:1.25rem}
.home-nav-arrow{font-size:.85rem;color:var(--azul);font-weight:500;margin-top:auto}
@media(max-width:600px){.home-nav-grid{grid-template-columns:1fr 1fr}}
@media(max-width:400px){.home-nav-grid{grid-template-columns:1fr}}
@media print{.home-nav-grid{grid-template-columns:repeat(2,1fr)}.home-nav-card{border:1px solid #ddd !important;box-shadow:none !important}}

/* ── seção join (CTA recrutamento) ──────────────────────────────────────── */
.section-join{padding:5rem 3rem}
@media(max-width:600px){.section-join{padding:4rem 1.25rem}}

/* ── CTA recrutamento ────────────────────────────────────────────────────── */
.btn-join{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.15);color:#fff;text-decoration:none;padding:.75rem 1.75rem;border-radius:100px;font-size:.9rem;font-weight:500;border:1px solid rgba(255,255,255,.3);transition:background .2s}
.btn-join:hover{background:rgba(255,255,255,.26)}
.btn-join--outline{background:transparent;border-color:rgba(255,255,255,.35)}
.btn-join--outline:hover{background:rgba(255,255,255,.1)}
.join-section{text-align:center}
.join-section .divider{margin:1rem auto 1.25rem;background:rgba(255,255,255,.35)}
.join-section .section-label{justify-content:center;display:flex;color:rgba(255,255,255,.55)}
.join-section .section-title{color:#fff;margin-bottom:.9rem}
.join-section .section-title em{color:rgba(255,255,255,.75)}
.join-section p{color:rgba(255,255,255,.75);max-width:540px;margin:0 auto 2.5rem;line-height:1.8}

/* filtro de publicações em mobile */
@media(max-width:600px){
  .pub-filter-bar{flex-direction:column;align-items:stretch}
  .pub-search-wrap{min-width:unset}
  .pub-filter-qualis{justify-content:flex-start}
  .pub-print-btn{align-self:flex-start}
}

/* ── impressão ───────────────────────────────────────────────────────────── */
@media print{
  nav,footer,.pub-filter-bar,.pub-year-nav,.back-to-top,
  .btn-primary,.btn-outline,.pub-print-btn,.linha-deco,.page-hero .hero-actions,
  .skip-link,.pub-citar,.hero-actions,.premio-year-nav,
  .premios-statsbar,.pub-statsbar,.section-join,.noticia-link-btn{display:none !important}
  body{font-size:10.5pt;color:#000;background:#fff}
  .page-hero{padding:1rem 0;background:#fff !important;border:none !important;color:#000 !important}
  .page-hero-title,.page-hero-sub,.page-hero-count{color:#000 !important}
  .page-hero-title{font-size:18pt}
  /* publicações */
  .pub-hidden,.pub-year-group.pub-hidden{display:block !important}
  .pub-item{break-inside:avoid;border-bottom:1px solid #ddd !important;background:none !important}
  .pub-item:hover{background:none}
  .pub-year-group{page-break-inside:avoid}
  .pub-year-label{border-bottom:1.5pt solid #000;font-size:12pt;color:#000}
  a{color:#000;text-decoration:none}
  .pub-doi::after{content:" (" attr(href) ")";font-size:.72em;color:#444}
  .pub-badge{border:1px solid #999 !important;background:#f0f0f0 !important;color:#000 !important}
  /* professores */
  .prof-grid{grid-template-columns:repeat(3,1fr) !important}
  .prof-card{break-inside:avoid;box-shadow:none !important;transform:none !important;border:1px solid #ddd}
  .prof-card::after{display:none}
  .prof-avatar{background:#f0f0f0 !important;color:#333 !important}
  .tag{background:#f0f0f0 !important;color:#333 !important;border:1px solid #ddd}
  .linhas-grid{page-break-before:auto}
  .linha-card{break-inside:avoid;box-shadow:none !important}
  .linha-num{color:#ddd !important}
  /* prêmios */
  .premio-card{break-inside:avoid;background:#fff !important;border:1px solid #ddd !important}
  .premio-card::before{display:none}
  .premio-nome{color:#000 !important;font-size:10pt}
  .premio-entidade{color:#444 !important}
  .premio-desc{color:#555 !important}
  .premio-ano{color:#666 !important}
  /* notícias */
  .noticia-card{break-inside:avoid;box-shadow:none !important;transform:none !important;border:1px solid #ddd}
  .noticia-destaque{background:#f5f5f3 !important;color:#000 !important;border-radius:0}
  .noticia-titulo,.noticia-data,.nm-titulo,.nm-data,.nd-data{color:#000 !important}
  .noticia-texto,.nm-texto,.noticia-card p{color:#444 !important}
  .noticias-grid{grid-template-columns:1fr}
  .noticias-all{grid-template-columns:repeat(2,1fr)}
}

/* ── 404 ─────────────────────────────────────────────────────────────────── */
.notfound-num{font-family:'Playfair Display',serif;font-size:clamp(6rem,20vw,13rem);font-weight:600;line-height:1;color:var(--azul-claro);margin-bottom:1.25rem;user-select:none;letter-spacing:-.02em}

/* ── tipografia balanceada ────────────────────────────────────────────────── */
.hero-title,.section-title,.page-hero-title,.noticia-titulo,.prof-nome,.linha-titulo,.pub-year-label{text-wrap:balance}

/* ── botão de tema ────────────────────────────────────────────────────────── */

/* números decorativos de linhas de pesquisa (--azul-claro vira quase invisível no dark) */
/* avatares de professores — contraste melhorado no dark */
/* mobile nav overlay */
/* contraste: --azul (#1C4EDD) sobre fundo escuro falha WCAG AA (~2.4:1);
   --azul-mid (#5578e8) sobre #0d0d18 / #14141f atinge 5:1 / 4.7:1 ✓ */
/* link ativo na nav em dark mode */
/* divisórias de seção visíveis no dark mode */
/* focus search input no dark mode */
/* focus rings: --azul (#1C4EDD) sobre fundo escuro ~2.5:1 — usa --azul-mid (~5:1) */
/* notícias: links e datas em dark (#1C4EDD sobre #16161f ~2.3:1 → falha WCAG) */
/* hero count e pub hover/borders em dark mode */
/* pub-citar feedback "Copiado!" — #0a6b64 ~1.5:1 em dark → teal claro */
/* pub-year (coluna de ano em index.html), pub-reset, pub-year-label border */
/* focus border do search + hover border do btn-outline */
/* preserva outline branco em elementos sobre fundo azul sólido */

/* ── acessibilidade ──────────────────────────────────────────────────────── */
.skip-link{position:absolute;top:-48px;left:1rem;background:var(--azul);color:#fff;padding:.5rem 1.25rem;border-radius:0 0 8px 8px;text-decoration:none;font-size:.85rem;font-weight:500;z-index:9999;transition:top .2s}
.skip-link:focus{top:0}
:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:3px}
main{display:block}

/* ── hamburger ───────────────────────────────────────────────────────────── */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem .25rem;margin-right:-.25rem;line-height:0}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--preto);border-radius:2px;transition:transform .25s,opacity .2s}
body.nav-open .nav-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-hamburger span:nth-child(2){opacity:0;transform:scaleX(0)}
body.nav-open .nav-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── motion preference ───────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .linha-inner{animation:none}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ── responsivo 900px ────────────────────────────────────────────────────── */
@media(max-width:900px){
  #inicio{grid-template-columns:1fr;gap:2rem;text-align:center}
  .hero-visual{order:-1}
  .hero-logo-wrap{max-width:300px}
  .hero-sub,.hero-stats{max-width:100%}
  .hero-actions,.hero-stats{justify-content:center}
  .noticias-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;gap:.5rem;text-align:center}
}

/* ── responsivo 600px (mobile) ───────────────────────────────────────────── */
@media(max-width:600px){
  body > nav{padding:0 1.25rem}

  /* hamburger visível, links viram menu dropdown */
  .nav-hamburger{display:flex}
  .nav-links{
    display:none;
    position:fixed;top:68px;left:0;right:0;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    flex-direction:column;
    gap:0;
    padding:.5rem 1.25rem 1.25rem;
    border-bottom:1px solid var(--borda);
    box-shadow:0 8px 24px rgba(0,0,0,.06);
    z-index:99
  }
  body.nav-open .nav-links{display:flex}
  .nav-links li{border-bottom:1px solid var(--borda)}
  .nav-links li:last-child{border-bottom:none}
  .nav-links a{display:block;padding:.9rem 0;font-size:1rem;color:var(--preto);font-weight:400}
  .nav-links a.ativa{color:var(--azul)}

  section{padding:4rem 1.25rem}
  #inicio{padding:7rem 1.25rem 3rem}
  .page-hero{padding:5.5rem 1.25rem 2.5rem}
  /* statsbar horizontal no mobile: mantém em linha, reduz padding */
  .premios-stats{flex-direction:row;flex-wrap:wrap;padding:.25rem 0;gap:0}
  .psi{padding:.6rem 1.25rem .6rem 0;text-align:left}
  .psi-num{font-size:1.25rem}
  .psi-div{width:1px;height:1.8rem;margin-right:1.25rem}
  .hero-stats{gap:1.5rem}
  .noticias-all{grid-template-columns:1fr}
  .premio-grid{grid-template-columns:1fr;gap:1rem}
  .premio-card{padding:1.25rem}
  section[id^="premio-"]{padding-top:2rem;padding-bottom:2rem;padding-left:1.25rem;padding-right:1.25rem}
  .prof-grid{grid-template-columns:1fr}
  .linhas-grid{grid-template-columns:1fr}
  .pub-item{flex-direction:column;gap:.4rem;padding:1.25rem .75rem}
  .pub-year{min-width:unset}
  /* year-nav pub: scroll horizontal, sem barra */
  .pub-year-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:-1.25rem;margin-right:-1.25rem;padding-left:1.25rem;padding-right:1.25rem;gap:.4rem;margin-bottom:1.25rem}
  .pub-year-nav::-webkit-scrollbar{display:none}
  /* filter bar empilhada no mobile */
  .pub-filter-bar{padding:.9rem 1rem;flex-direction:column;align-items:stretch;gap:.6rem}
  .pub-search-wrap{min-width:unset}
  .pub-print-btn{align-self:flex-end}
  /* scroll-margin compensando nav + year-nav sticky */
  .pub-year-group{scroll-margin-top:130px}
}

/* ── barra de stats de publicações ──────────────────────────────────────── */
.pub-statsbar{background:var(--cinza-claro);border-bottom:1px solid var(--borda);padding:.1rem 0}
.pub-statsbar .psi-num{color:var(--azul)}
.pub-statsbar .psi-label{color:var(--cinza)}
.pub-statsbar .psi-div{background:rgba(28,78,221,.18)}

/* ── badge "Novo" em notícias ────────────────────────────────────────────── */
.noticia-badge--novo{background:#0a6b64}

/* ── alto contraste (prefers-contrast: more) ─────────────────────────────── */
@media(prefers-contrast: more){
  :root{--borda:rgba(28,78,221,.45);--cinza:#333}
  .btn-outline,.pub-filter-btn,.pub-print-btn,.pub-reset,.pub-citar{border-width:2px !important}
  .prof-card,.noticia-card,.noticia-mini,.linha-card,.premio-card{border-width:2px}
  .pub-search{border-width:2px}
  .pub-year-btn,.pub-year-nav,.premio-year-nav{border-width:2px}
  .tag{border:1px solid rgba(28,78,221,.45)}
  .nav-links a{color:var(--preto)}
  .nav-links a.ativa{color:var(--azul)}
}
