/* Editorial refinement; native content and menus remain editable. */
:root { --logo-width: 15rem; }
.site-nav .menu { gap: 1rem; }
.site-nav .menu a, .contributions-link { font-size: 17px; }
.site-nav .menu-contributions > a, .contributions-link { color: var(--ink); font-weight: 550; text-decoration: none; }
.site-nav .menu-contributions > a:hover, .contributions-link:hover { color: var(--blue); text-decoration: underline; }
.header-inner { gap: 1rem; }
.site-breadcrumb { margin-bottom: 2rem; font-size: .85rem; color: var(--muted); }
.site-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .6rem; margin: 0; padding: 0; list-style: none; }
.site-breadcrumb li + li::before { content: '›'; margin-right: .6rem; color: #687888; }
.site-breadcrumb a { display: inline-block; padding-block: .4rem; }
.editorial-band { padding-block: 3.5rem; }
.editorial-band-suave { background: #f0f5fb; }
.editorial-band-fechamento { background: var(--blue); color: white; border-top: 3px solid var(--gold); }
.editorial-band-fechamento h2 { font-size: 2rem; }
.home-main > p:empty { display: none; }
.hero-copy > p { color: var(--muted); }
.hero-copy { display: flex; flex-direction: column; }
.hero-copy > p:empty { display: none; }
.hero-copy .eyebrow { order: -1; }
.hero-copy .eyebrow { color: var(--gold-ink); }
.hero-copy .hero-actions { margin-top: 1.5rem; }
.editorial-split { display: flow-root; }
.editorial-split img { width: 44%; max-height: 420px; aspect-ratio: 1.4; object-fit: cover; border-radius: .3rem; }
.editorial-split .alignleft { margin: 0 3rem 1.5rem 0; }
.editorial-split .alignright { margin: 0 0 1.5rem 3rem; }
.editorial-split h2 { font-size: clamp(1.8rem,2.7vw,2.5rem); }
.editorial-split ul { list-style-position: inside; }
.visual-about { display: block; }
.visual-about .entry-content { max-width: none; }
.visual-about .visual-heading { margin-bottom: 2rem; }
.institutional-block { padding-block: 2.5rem; display: flow-root; }
.institutional-block:first-child { padding-top: 0; }
.institutional-block.soft-band { background: #f0f5fb; padding: 2.5rem; border-radius: .3rem; }
.institutional-block p { max-width: 70ch; }
.institutional-block h2 { font-size: clamp(1.6rem,2.5vw,2.2rem); }
.institutional-block .alignleft, .institutional-block .alignright { width: 44%; aspect-ratio: 1.45; object-fit: cover; margin-top: 0; border-radius: .3rem; }
.institutional-block .alignleft { margin-right: 3rem; }
.institutional-block .alignright { margin-left: 3rem; }
.news-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; font-size: .8rem; }
.news-meta time { color: var(--muted); }
.news-item { min-width: 0; padding-top: 0; border: 0; }
.news-item h3 { font-size: 1.3rem; }
.news-item p { font-size: .95rem; }
.single-post .entry-thumbnail img { width: 100%; max-height: 480px; object-fit: cover; aspect-ratio: 2.2; }
.news-grid { gap: 2.5rem 2rem; }
.photo-carousel { border-radius: .35rem; overflow: hidden; background: #e8eff6; }
.carousel-slides { position: relative; aspect-ratio: 1.15; }
.carousel-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.carousel-slide.is-active { opacity: 1; visibility: visible; }
.carousel-slide img { width: 100%; height: 100%; object-fit: cover; }
.carousel-controls { display: flex; flex-wrap: wrap; gap: .2rem; align-items: center; padding: .35rem; background: #e8eff6; }
/* Reserve the controls row before JS: no height jump, no focusable no-JS controls. */
.carousel-controls[hidden] { display: flex; visibility: hidden; }
.carousel-controls button { padding: .5rem .7rem; min-width: 44px; min-height: 44px; font-size: .85rem; color: var(--blue); border-color: transparent; background: transparent; }
.carousel-controls button:hover { background: white; }
.carousel-controls :focus-visible { outline-offset: -3px; }
.carousel-dots { display: flex; flex-wrap: wrap; max-width: 100%; margin-left: auto; }
.carousel-dots button { padding: .4rem; min-width: 36px; }
.carousel-dots span { display: block; width: 7px; height: 7px; border-radius: 100%; background: #8899ad; }
.carousel-dots [aria-pressed=true] span { background: var(--blue); width: 10px; height: 10px; }
.site-footer { background: #eef4fb; border-top: 1px solid #cad8e8; padding-top: 3rem; }
.footer-grid { display: grid; grid-template-columns: 1.05fr 1.2fr 1fr; gap: 3rem; padding-bottom: 2rem; }
.site-footer .menu { display: grid; grid-template-columns: 1fr 1fr; gap: .1rem 1rem; align-items: start; }
.site-footer .menu a { font-size: .9rem; padding-block: .5rem; }
.site-footer .menu-contributions > a { font-weight: 550; text-decoration: none; color: var(--ink); }
.site-footer .menu-association > a { background: transparent; color: var(--ink); padding-inline: 0; }
.footer-title { color: var(--blue); font-size: 1rem; margin-bottom: .8rem; }
.footer-identity p { font-size: .9rem; }
.site-footer .social-links { flex-direction: row; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.social-links a { width: 44px; height: 44px; justify-content: center; border: 1px solid #b4c7dd; border-radius: 50%; }
.social-links svg { width: 20px; height: 20px; fill: currentColor; }
.footer-bottom { border-top-color: #cad8e8; }
.footer-bottom a { color: var(--muted); }
.site-footer address p { margin-top: 0; }
@media (min-width: 80rem) and (max-width: 87.49rem) {
  .site-nav { width: 100%; align-items: stretch; flex-direction: column; border-top: 1px solid var(--line); padding-top: 1rem; }
  .site-nav .menu { align-items: stretch; flex-direction: column; gap: 0; }
  .site-nav .menu a { padding: .8rem 0; }
  .site-nav .menu-association > a { padding-inline: 1rem; }
  .js .menu-toggle { display: inline-flex; background: white; color: var(--blue); }
  .js .site-nav[data-collapsed=true] { display: none; }
}
@media (max-width: 63.99rem) {
  .news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-identity { grid-column: 1/-1; max-width: 40rem; }
  .carousel-slides { aspect-ratio: .85; }
  .editorial-split .alignleft, .institutional-block .alignleft { margin-right: 1.5rem; }
  .editorial-split .alignright, .institutional-block .alignright { margin-left: 1.5rem; }
}
@media (max-width: 47.99rem) {
  .editorial-band { padding-block: 2rem; }
  .news-grid { grid-template-columns: 1fr; gap: 2rem; }
  .carousel-slides { aspect-ratio: 1.55; }
  .editorial-split img, .institutional-block .alignleft, .institutional-block .alignright { width: 100%; float: none; margin: 0 0 1.5rem; }
  .institutional-block { padding-block: 1.5rem; }
  .institutional-block.soft-band { padding: 1.5rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .footer-identity { grid-column: auto; }
  .site-footer { padding-top: 2rem; }
  .site-footer .menu { grid-template-columns: 1fr 1fr; }
  .footer-bottom { gap: .5rem; }
}
@media (prefers-reduced-motion: reduce) { .carousel-slide { transition: none; } }
