/* ==========================================================================
   Acervo Suaíli Digital — páginas internas
   Medidas do layout de 1920px do Figma. Abaixo disso, os contêineres
   encolhem e os títulos usam clamp(). Breakpoints do Elementor:
   tablet até 1024px, mobile até 767px.
   ========================================================================== */

:root {
  --roxo: #372476;
  --verde: #00f2f2;
  --branco: #fffffc;
  --bege: #ebf5df;
  --azul: #0066ff;
  --preto: #050505;
  --texto: rgba(5, 5, 5, .6);       /* preto com 60% de opacidade, usado no corpo */
  --linha: rgba(0, 0, 0, .1);

  --font-titulo: "Montserrat", sans-serif;
  --font-texto: "Lato", sans-serif;
  --font-legenda: "Montaga", serif;

  --pad: clamp(20px, 5vw, 96px);    /* margem lateral mínima */
  --hud-x: clamp(20px, 2.1vw, 40px);
  --hud-y: clamp(16px, 2.5vw, 48px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 140px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body.site {
  margin: 0;
  background: var(--branco);
  color: var(--preto);
  font-family: var(--font-texto);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.site.menu-open { overflow: hidden; }

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; padding: 0; }
ul, ol { list-style: none; }

.skip {
  position: absolute; left: 16px; top: -60px; z-index: 100;
  padding: 8px 16px; background: var(--roxo); color: var(--branco); border-radius: 8px;
}
.skip:focus { top: 16px; }

:focus-visible { outline: 2px solid var(--azul); outline-offset: 3px; }

/* --------------------------------------------------------------------------
   Contêineres
   -------------------------------------------------------------------------- */

.wrap { width: min(var(--w, 1248px), 100% - 2 * var(--pad)); margin-inline: auto; }
.wrap--1488 { --w: 1488px; }

.page { position: relative; padding-bottom: 120px; }

/* Vela decorativa (img_sail) */
.sail {
  position: absolute; top: 128px; right: 0; z-index: -1;
  width: clamp(120px, 15vw, 288px); height: auto; opacity: .6;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   Tipografia (style guide do Figma)
   -------------------------------------------------------------------------- */

.overline {                                     /* Overline — Montserrat Medium 20/32, 10% */
  font: 500 clamp(14px, 1.05vw, 20px)/1.6 var(--font-titulo);
  letter-spacing: .1em; text-transform: uppercase; color: var(--texto);
}
.overline--mt { margin-top: 60px; }

.h1 {                                           /* H1 — Montserrat Black 88/96 */
  font: 900 clamp(44px, 4.6vw, 88px)/1.09 var(--font-titulo);
  text-transform: uppercase; color: var(--roxo);
  text-box: trim-both cap alphabetic;
}
.h2 {                                           /* H2 — Montserrat Black 52/52, 10% */
  font: 900 clamp(30px, 2.71vw, 52px)/1 var(--font-titulo);
  letter-spacing: .1em; text-transform: uppercase; color: var(--roxo);
  text-box: trim-both cap alphabetic;
}
.hero-type {                                    /* HERO — Montserrat Black 136/153, 5% */
  font: 900 clamp(52px, 7.08vw, 136px)/1.125 var(--font-titulo);
  letter-spacing: .05em; text-transform: uppercase; color: var(--verde);
  text-box: trim-both cap alphabetic;
}
.subtitle {                                     /* Subtitle — Montserrat Medium 32/40, 5% */
  font: 500 clamp(20px, 1.67vw, 32px)/1.25 var(--font-titulo);
  letter-spacing: .05em; color: var(--texto);
}
.subtitle--dark { color: #000; }
.body {                                         /* Body — Lato Medium 20/32 */
  font: 400 clamp(16px, 1.05vw, 20px)/1.6 var(--font-texto);
  color: var(--texto);
}
.body--strong { color: var(--preto); }
.body + .body { margin-top: 1em; }
.body em { font-style: italic; }
.body strong { font-weight: 700; }
.link-caps {                                    /* Hyperlink — Montserrat SemiBold 16/24, 10% */
  font: 600 clamp(12px, .83vw, 16px)/1.5 var(--font-titulo);
  letter-spacing: .1em; text-transform: uppercase; color: var(--azul);
  overflow-wrap: anywhere;
}

/* Bloco verde atrás de parte do título */
.has-marker { position: relative; isolation: isolate; }
.marker { position: absolute; z-index: -1; background: var(--verde); }

/* Ícones SVG embutidos: assumem a cor do texto (currentColor) */
.i { display: inline-block; flex: none; width: 32px; height: 32px; overflow: visible; }

/* --------------------------------------------------------------------------
   Cabeçalho fixo (.hud do Figma)
   -------------------------------------------------------------------------- */

.site-fade {
  position: fixed; inset: 0 0 auto; height: 195px; z-index: 40; pointer-events: none;
  background: linear-gradient(to bottom, rgba(255, 255, 252, .95) 45%, rgba(255, 255, 252, 0));
}
.page-collection .site-fade { display: none; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--hud-y) var(--hud-x) 0;
  height: calc(var(--hud-y) + 80px);
  pointer-events: none;
}
.site-header > * { pointer-events: auto; }

.site-logo {
  display: flex; align-items: center; gap: 3px; padding: 8px;
  color: var(--roxo); transition: color .3s ease-out;
}
.site-logo--branco { color: var(--branco); }
.site-logo:hover, .site-logo:focus-visible { color: var(--azul); }
.site-logo--branco:hover, .site-logo--branco:focus-visible { color: var(--verde); }
.site-logo__mark { width: 53.2px; height: 81.29px; }
.site-logo__text {
  font: 600 20px/20px var(--font-titulo); letter-spacing: .02em;
  text-box-trim: trim-both; text-box-edge: cap alphabetic;
}

.menu-toggle { display: none; }

.menu { display: flex; align-items: flex-start; gap: 12px; }
.drop { position: relative; }

.btn-menu {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  height: 56px; padding: 12px 20px; border-radius: 32px;
  font: 600 clamp(17px, 1.46vw, 28px)/32px var(--font-titulo);
  color: var(--roxo); white-space: nowrap;
  transition: color .1s ease-out, background-color .1s ease-out;
}
.btn-menu--filled { background: rgba(55, 36, 118, .05); }
.btn-menu--item { justify-content: flex-start; color: var(--bege); }
.btn-menu:hover, .btn-menu:focus-visible, .btn-menu[aria-expanded="true"],
.drop.is-current > .btn-menu { color: var(--azul); }
.btn-menu--item:hover, .btn-menu--item:focus-visible { color: var(--verde); }
.btn-menu--item[aria-current="page"] { color: var(--verde); }
.btn-menu--item.is-soon { opacity: .55; }

.menu-list {
  position: absolute; left: 0; top: calc(100% + 8px); z-index: 10;
  display: flex; flex-direction: column; padding: 16px;
  background: rgba(55, 36, 118, .75); border-radius: 12px;
  box-shadow: 0 4px 16px rgba(56, 36, 117, .2);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  opacity: 0; visibility: hidden; translate: 0 -8px;
  transition: opacity .2s ease-out, translate .4s cubic-bezier(.3, 1.2, .5, 1), visibility 0s linear .2s;
}
.menu-list--lang { left: auto; right: 0; gap: 8px; }
.drop.is-open .menu-list { opacity: 1; visibility: visible; translate: 0 0; transition-delay: 0s; }

/* --- Busca rápida (lupa no cabeçalho) --- */
.menu-list--search { left: auto; right: 0; width: 420px; padding: 20px; gap: 10px; }
.search-label {
  font: 500 14px/1.4 var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--bege); opacity: .8;
}
.search-field { display: flex; align-items: center; gap: 8px; border-bottom: 2px solid var(--verde); }
.search-input {
  flex: 1; min-width: 0; height: 48px; padding: 0; border: 0; border-radius: 0; background: none; outline: none;
  font: 500 20px/1 var(--font-titulo); color: var(--branco);
  -webkit-appearance: none; appearance: none;
}
.search-input::placeholder { color: rgba(235, 245, 223, .55); }
.search-submit { width: 44px; height: 44px; display: grid; place-items: center; color: var(--verde); flex: none; }
.search-submit .i { width: 28px; height: 28px; }
.search-submit:hover, .search-submit:focus-visible { color: var(--branco); }

/* Ícones do rodapé (fixos no canto, como no Figma) */
.site-social {
  position: fixed; right: var(--hud-x); bottom: 24px; z-index: 45;
  display: flex;
}
.site-social .btn-menu { background: rgba(255, 255, 252, .7); }

/* --------------------------------------------------------------------------
   Componentes
   -------------------------------------------------------------------------- */

.player {
  position: relative; display: block; overflow: hidden; border-radius: 12px;
  background: var(--roxo); box-shadow: 0 10px 15px rgba(0, 0, 0, .15);
}
.player img { width: 100%; height: 100%; object-fit: cover; }
.player__play {
  position: absolute; left: 50%; top: 50%; width: 48.75px; height: 48.75px; translate: -50% -50%;
  color: var(--branco); filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .3));
  opacity: 0; transition: opacity .2s ease-out;
}
.player:hover .player__play, .player:focus-visible .player__play { opacity: 1; }

.caption-box {
  align-self: flex-end; padding: 10px; border-right: 1px solid var(--verde);
  font: 400 16px/18px var(--font-legenda); color: var(--roxo); text-align: right;
}

/* Carrossel: trilho horizontal + barra de progresso + navegação */
.carousel { position: relative; }
.carousel__viewport {
  overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
  scroll-snap-type: x proximity; overscroll-behavior-x: contain;
}
.carousel__viewport::-webkit-scrollbar { display: none; }
.carousel__track { display: flex; gap: 56px; width: max-content; padding: 24px 0; }
.carousel__track > * { scroll-snap-align: start; flex: none; }
.carousel__bar { position: relative; height: 4px; }
.carousel__progress {
  position: absolute; left: 0; top: 0; height: 4px; width: var(--w, 30%);
  translate: var(--x, 0) 0; background: var(--verde); transition: translate .2s ease-out;
}
.carousel__nav {
  display: flex; align-items: center; gap: 21px; padding: 20px 0;
  border-top: 1px solid rgba(5, 5, 5, .4); color: rgba(55, 36, 118, 1);
}
.carousel__count { margin-left: auto; font: 600 16px/21px var(--font-texto); color: rgba(0, 0, 0, .4); }
.navbtn { width: 32px; height: 32px; color: var(--roxo); opacity: .4; transition: opacity .15s; }
.navbtn:not(:disabled):hover, .navbtn:not(:disabled):focus-visible { opacity: 1; }
.navbtn:disabled { opacity: .16; cursor: default; }
.navbtn__i { display: block; width: 32px; height: 32px; }
.navbtn--prev .navbtn__i { rotate: 180deg; }
.carousel--fade .carousel__viewport {
  -webkit-mask: linear-gradient(to right, #000 calc(100% - 160px), transparent);
  mask: linear-gradient(to right, #000 calc(100% - 160px), transparent);
}

/* --------------------------------------------------------------------------
   APRESENTAÇÃO
   -------------------------------------------------------------------------- */

.about-hero {
  display: grid; grid-template-columns: minmax(0, 880px) minmax(0, 700px);
  justify-content: start; align-items: center; gap: 80px;
  padding: 180px 64px 36px;
}
.about-hero__media { position: relative; }
.about-hero__block {
  position: absolute; left: -64px; top: 36px; width: calc(100% + 16px); height: 98.6%;
  background: var(--azul);
}
.about-hero__media .player { aspect-ratio: 880 / 495; }
.about-hero__text { display: flex; flex-direction: column; gap: 60px; }
.about-hero__text .subtitle { max-width: 654px; }

.about-topics {
  display: grid; grid-template-columns: repeat(3, 1fr);
  margin-top: 40px;
}
.topic { display: flex; flex-direction: column; gap: 24px; padding: 0 72px; }

.about-acervo {
  display: grid; grid-template-columns: minmax(0, 728px) minmax(0, 552px);
  gap: 90px; align-items: center;
  margin-top: 186px; padding-left: 17.5vw; padding-right: var(--pad);
}
.about-acervo__text { display: flex; flex-direction: column; gap: 71px; }
.about-acervo__body { margin-top: 0; }
.about-acervo__text .caption-box { margin-top: 12px; }
.about-acervo__img img { width: 100%; aspect-ratio: 552 / 830; object-fit: cover; }

.about-intent { position: relative; padding: 128px 0 40px; }
.about-intent::before {                         /* faixa bege (Rectangle 5) */
  content: ""; position: absolute; z-index: -1; left: 17.5vw; right: 0; top: -127px; bottom: -120px;
  background: rgba(235, 245, 223, .3);
}
.about-intent .hero-type { width: min(818px, 100% - 2 * var(--pad)); margin-left: 30.1vw; }
.about-intent__row {
  display: grid; grid-template-columns: 360px minmax(0, 811px); gap: 94px; align-items: start;
  margin: -40px 0 0 11.35vw; padding-right: var(--pad);
}
.about-intent__img img {
  width: 360px; height: 360px; border-radius: 50%; object-fit: cover;
  box-shadow: 0 0 0 12px var(--branco);
}
.quote { margin-top: 104px; display: flex; flex-direction: column; gap: 40px; }
.quote figcaption { display: flex; flex-direction: column; gap: 8px; }
.quote__name { font: 500 clamp(20px, 1.67vw, 32px)/1.25 var(--font-titulo); letter-spacing: .05em; color: var(--preto); }

/* --------------------------------------------------------------------------
   PROJETO
   -------------------------------------------------------------------------- */

.project-banner { background: var(--roxo); }
.project-banner img { width: 100%; height: clamp(240px, 26.8vw, 514px); object-fit: fill; }
.project { padding-top: 36px; display: flex; flex-direction: column; gap: 80px; }
.project__title {
  font: italic 600 clamp(18px, 1.25vw, 24px)/1.333 var(--font-titulo); letter-spacing: .05em;
  color: var(--roxo); text-align: center; max-width: 1248px;
}

/* --------------------------------------------------------------------------
   EQUIPE
   -------------------------------------------------------------------------- */

.team-band { position: absolute; z-index: -2; inset: 0 0 auto; height: 1556px; background: rgba(235, 245, 223, .2); }
.team-hero {
  display: grid; grid-template-columns: minmax(0, 700px) minmax(0, 707px); justify-content: space-between;
  gap: 80px; align-items: center; padding: 180px 0 36px;
}
.team-hero__text { display: flex; flex-direction: column; gap: 32px; }
.team-hero__text > .body { margin-top: 0; }
.team-hero__text .overline--mt { margin-top: 28px; }
.team-hero__img img { width: 100%; aspect-ratio: 707 / 468; object-fit: cover; }

.team-research { margin-top: 80px; display: flex; flex-direction: column; gap: 32px; }
.team-research .h2 { margin-bottom: 8px; width: max-content; max-width: 100%; }

.members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 72px; }
.member { display: flex; flex-direction: column; gap: 8px; }
.member .body + * { margin-top: 0; }
.member__name { font: 600 clamp(20px, 1.46vw, 28px)/32px var(--font-titulo); color: var(--texto); }
.member--lead .member__name { font: 500 clamp(22px, 1.67vw, 32px)/40px var(--font-titulo); letter-spacing: .05em; }
.lattes { display: inline-flex; align-items: center; gap: 10px; width: max-content; font: 400 clamp(16px, 1.05vw, 20px)/32px var(--font-texto); color: var(--roxo); }
.lattes .i { width: 24px; height: 24px; }
.lattes:hover, .lattes:focus-visible { color: var(--azul); }

.credits { margin-top: 80px; padding-top: 60px; border-top: 1px solid rgba(5, 5, 5, .15); display: flex; flex-direction: column; gap: 32px; }
.credits__title { font: 500 clamp(14px, 1.05vw, 20px)/1.6 var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--roxo); }
.credits .members--grid { gap: 32px 72px; }
.logos { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 80px; padding: 24px 0; }
.logos .logo { height: 96px; width: auto; max-width: none; }
.logos__text { max-width: 313px; }
.ficha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ficha .body { margin: 0; }
.ficha .body + .body { margin-top: 20px; }
.ficha strong { color: var(--preto); }

/* --------------------------------------------------------------------------
   COLEÇÃO (Sancul)
   -------------------------------------------------------------------------- */

.page-collection .page { display: grid; grid-template-columns: 40.83vw minmax(0, 1fr); padding-bottom: 0; }
.col-banner {
  position: sticky; top: 0; height: 100vh; height: 100svh; min-height: 560px;
  background: var(--roxo) var(--banner) center / cover no-repeat;
  display: flex; align-items: flex-end; justify-content: flex-end; padding: 192px 40px;
}
.col-banner__credit {
  font: 400 16px/18px var(--font-legenda); color: var(--branco); text-align: right;
  text-shadow: 0 0 18px rgba(55, 36, 118, .6);
}
.col-content { padding: 184px 0 160px; min-width: 0; }
.col-intro { padding: 0 var(--pad) 0 112px; display: flex; flex-direction: column; gap: 68px; max-width: 920px; }
.col-intro__text { padding: 0 42px; max-width: 701px; }

.gal-nav {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px;
  margin-top: 176px; padding: 0 36px 0 70px; max-width: 920px; min-height: 128px;
}
.gal-nav::before {                              /* faixa verde (Retângulo 829) */
  content: ""; position: absolute; z-index: -1; left: 0; right: 0; top: 28px; height: 64px; background: var(--verde);
}
.gal-nav__label {
  display: flex; align-items: center; gap: 30px; align-self: flex-start; margin-top: 12px;
  font: 700 clamp(14px, 1.05vw, 20px)/32px var(--font-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--roxo);
}
.gal-nav__label img { width: 80px; height: 80px; }
.gal-nav__links { display: flex; gap: 24px; }
.gal-link { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 80px; transition: translate .2s ease-out; }
.gal-link img { width: 80px; height: 80px; }
.gal-link span { font: 900 12px/1.15 var(--font-texto); text-transform: uppercase; color: var(--texto); text-align: center; }
.gal-link:hover, .gal-link:focus-visible { translate: 0 -4px; }

.col-section { margin-top: 278px; padding-left: 112px; display: flex; flex-direction: column; gap: 60px; }
.h2--icon { display: inline-flex; align-items: center; gap: 80px; width: max-content; max-width: calc(100% - var(--pad)); }
.h2--icon img { width: 80px; height: 80px; flex: none; }
.h2--icon span { max-width: 13em; }
.h2--docs { gap: 10px; }
.h2--docs span { max-width: 556px; }
.col-section .carousel { margin-right: 0; }
.col-section .carousel__bar, .col-section .carousel__nav { max-width: 808px; margin-right: var(--pad); }
.col-section .carousel__viewport {
  -webkit-mask: linear-gradient(to right, #000 calc(100% - 200px), transparent);
  mask: linear-gradient(to right, #000 calc(100% - 200px), transparent);
}

.card-doc {
  position: relative; display: block; width: 232px; height: 320px; overflow: hidden;
  border-radius: 12px; background: var(--roxo); box-shadow: 0 10px 15px rgba(55, 36, 118, .15);
  transition: translate .2s ease-out, box-shadow .2s ease-out;
}
.card-doc img { width: 100%; height: 100%; object-fit: cover; }
.card-doc__txt { position: absolute; inset: auto 0 0; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.card-doc__name { font: 700 20px/24px var(--font-texto); color: var(--branco); }
.card-doc__type { font: 900 12px/16px var(--font-texto); letter-spacing: .1em; color: rgba(235, 245, 223, .75); }
.card-doc:hover, .card-doc:focus-visible { translate: 0 -6px; box-shadow: 0 16px 24px rgba(55, 36, 118, .25); }

.carousel--mosaic .carousel__track { padding: 0 0 56px; }
.mosaic { position: relative; height: 464px; aspect-ratio: 1600 / 464; }
.mosaic__item { position: absolute; overflow: hidden; }
.mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: scale .3s ease-out; }
.mosaic__item:hover img { scale: 1.04; }

.video { width: 534px; display: flex; flex-direction: column; gap: 4px; }
.video .player { aspect-ratio: 534 / 300; margin-bottom: 20px; }
.video__title, .video .body { padding: 0 12px; }
.video__title { font: 600 clamp(20px, 1.46vw, 28px)/32px var(--font-titulo); color: var(--preto); }
.video .body { margin: 0; }

/* --------------------------------------------------------------------------
   LISTAS (publicações, obras, links, cursos)
   -------------------------------------------------------------------------- */

.list-head { padding-top: 220px; display: flex; flex-direction: column; gap: 80px; }
.list-head .h2 { width: max-content; max-width: 100%; }
.list { margin-top: 80px; display: flex; flex-direction: column; gap: 24px; }

.pub { display: flex; gap: 24px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--linha); }
.pub__icon { width: 96px; height: 96px; color: var(--roxo); }
.pub__content { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pub__title { font: 600 clamp(19px, 1.3vw, 25px)/32px var(--font-titulo); color: rgba(5, 5, 5, .75); }
.pub .body { color: rgba(5, 5, 5, .5); }
.pub .body + * { margin-top: 0; }
.pub .link-caps { margin-top: 0; width: max-content; }
.pub .link-caps:hover, .pub .link-caps:focus-visible { text-decoration: underline; }

.list--refs { gap: 16px; }
.ref { padding-bottom: 16px; border-bottom: 1px solid var(--linha); }
.ref.body + .ref.body { margin-top: 0; }

.ext a { display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--linha); }
.list:has(.ext) { gap: 16px; }
.ext__name { font: 600 clamp(20px, 1.46vw, 28px)/32px var(--font-titulo); color: var(--texto); transition: color .15s; }
.ext .link-caps { opacity: .6; transition: opacity .15s; }
.ext a:hover .ext__name, .ext a:focus-visible .ext__name { color: var(--roxo); }
.ext a:hover .link-caps, .ext a:focus-visible .link-caps { opacity: 1; }

.list:has(.workshop) { gap: 16px; }
.workshop { display: flex; flex-direction: column; gap: 32px; padding: 16px 0; border-bottom: 1px solid var(--linha); }
.workshop__title { font: 600 clamp(18px, 1.25vw, 24px)/32px var(--font-titulo); color: var(--texto); }
.carousel--thumbs .carousel__track { gap: 8px; padding: 0 0 28px; }
.thumb { display: block; width: 200px; height: 200px; overflow: hidden; }
.thumb img { width: 100%; height: 100%; object-fit: cover; transition: scale .3s ease-out; }
.thumb:hover img { scale: 1.05; }

/* --------------------------------------------------------------------------
   BUSCA (busca.html)
   -------------------------------------------------------------------------- */

.search-page { display: flex; flex-direction: column; gap: 12px; max-width: 960px; margin-top: -24px; }
.search-page .search-label { color: var(--texto); opacity: 1; }
.search-field--big { border-bottom-color: var(--roxo); }
.search-field--big .search-input { height: 72px; font-size: clamp(22px, 1.67vw, 32px); color: var(--roxo); }
.search-field--big .search-input::placeholder { color: rgba(55, 36, 118, .35); }
.search-field--big .search-submit { width: 56px; height: 56px; color: var(--roxo); }
.search-field--big .search-submit .i { width: 32px; height: 32px; }
.search-field--big .search-submit:hover, .search-field--big .search-submit:focus-visible { color: var(--azul); }
.search-field--big:focus-within { border-bottom-color: var(--azul); }
.search-status { margin-top: -40px; }
.search-status strong { color: var(--roxo); font-weight: 700; }

.search-results { margin-top: 56px; }
.results { display: flex; flex-direction: column; }
.result a { display: flex; flex-direction: column; gap: 6px; padding: 24px 0; border-bottom: 1px solid var(--linha); }
.result__section { font: 500 14px/1.6 var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--texto); }
.result__title { font: 600 clamp(20px, 1.46vw, 28px)/1.15 var(--font-titulo); color: var(--roxo); transition: color .15s; }
.result__text { font: 400 clamp(16px, 1.05vw, 20px)/1.6 var(--font-texto); color: var(--texto); }
.result a:hover .result__title, .result a:focus-visible .result__title { color: var(--azul); }
.results mark { background: rgba(0, 242, 242, .45); color: inherit; padding: 0 .05em; border-radius: 2px; }

.search-suggest { display: flex; flex-direction: column; gap: 16px; }
.search-suggest ul { display: flex; flex-wrap: wrap; gap: 12px; }
.chip {
  display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border-radius: 22px;
  font: 600 16px/1 var(--font-titulo); color: var(--roxo); background: rgba(55, 36, 118, .06);
  transition: background-color .15s, color .15s;
}
.chip:hover, .chip:focus-visible { background: var(--verde); }

/* Item aberto a partir de um resultado da busca */
[id] { scroll-margin-top: 140px; }
.member:target, .pub:target, .ref:target, .ext:target, .workshop:target, .topic:target, .credits:target {
  animation: alvo 2.4s ease-out;
}
@keyframes alvo { 0%, 30% { background: rgba(0, 242, 242, .25); } 100% { background: transparent; } }

/* ==========================================================================
   RESPONSIVO — Elementor: tablet até 1024px, mobile até 767px
   ========================================================================== */

@media (max-width: 1440px) {
  .about-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
  .topic { padding: 0 32px; }
}

@media (max-width: 1024px) {
  :root { --pad: 32px; --hud-x: 24px; --hud-y: 20px; }
  html { scroll-padding-top: 100px; }

  .site-fade { height: 120px; }
  .site-header { height: calc(var(--hud-y) + 64px); }
  .site-logo__mark { width: 40px; height: 61px; }
  .site-logo__text { font-size: 16px; line-height: 16px; }

  /* menu em painel */
  .site-logo, .menu-toggle { position: relative; z-index: 61; }
  .menu-open .site-logo { color: var(--branco); }
  .menu-toggle {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    width: 48px; height: 48px; border-radius: 24px; background: rgba(255, 255, 252, .8);
  }
  .menu-toggle span { display: block; width: 22px; height: 2px; border-radius: 1px; background: var(--roxo); transition: transform .2s ease-out, opacity .2s ease-out; }
  .menu-toggle[aria-expanded="true"] { background: rgba(255, 255, 252, .15); }
  .menu-toggle[aria-expanded="true"] span { background: var(--bege); }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  .menu {
    position: fixed; inset: 0; z-index: 60;
    flex-direction: column; align-items: stretch; gap: 4px;
    padding: calc(var(--hud-y) + 88px) var(--pad) 32px;
    background: rgba(55, 36, 118, .96); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
    overflow-y: auto; opacity: 0; visibility: hidden;
    transition: opacity .2s ease-out, visibility 0s linear .2s;
  }
  .menu.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
  .menu .btn-menu { justify-content: flex-start; width: 100%; padding-left: 0; padding-right: 0; font-size: 20px; color: var(--bege); }
  .menu .btn-menu:hover, .menu .btn-menu[aria-expanded="true"], .menu .drop.is-current > .btn-menu { color: var(--verde); }
  .menu .btn-menu--filled, .menu .btn-menu--icon { width: auto; align-self: flex-start; padding: 12px 20px; background: rgba(255, 255, 252, .08); }
  .menu .drop--lang { margin-top: 16px; }
  .menu .menu-list {
    position: static; display: none; padding: 0 0 8px 20px; background: none; border-radius: 0; box-shadow: none;
    -webkit-backdrop-filter: none; backdrop-filter: none; opacity: 1; visibility: visible; translate: none; transition: none;
  }
  .menu .drop.is-open .menu-list { display: flex; }
  .menu .btn-menu--item { height: 48px; color: var(--branco); }
  .menu .drop--search { width: 100%; margin-top: 8px; }
  .menu .menu-list--search { width: 100%; padding: 8px 0 16px; gap: 8px; }
  [id] { scroll-margin-top: 96px; }

  .site-social { position: static; justify-content: center; padding: 0 0 32px; }
  .site-social .btn-menu { background: none; }

  .page { padding-bottom: 64px; }
  .sail { top: 80px; }

  /* Apresentação */
  .about-hero { grid-template-columns: 1fr; gap: 48px; padding: 120px var(--pad) 0; }
  .about-hero__block { left: calc(-1 * var(--pad)); top: 24px; width: calc(100% + var(--pad) - 16px); }
  .about-hero__text { gap: 32px; }
  .about-topics { grid-template-columns: 1fr; gap: 32px; margin-top: 64px; }
  .topic { padding: 0; gap: 12px; }
  .about-acervo { grid-template-columns: 1fr; gap: 48px; margin-top: 96px; padding: 0 var(--pad); }
  .about-acervo__text { gap: 40px; }
  .about-acervo__img img { aspect-ratio: 4 / 3; }
  .about-intent { padding: 96px var(--pad) 0; }
  .about-intent::before { left: 0; top: -48px; bottom: -64px; }
  .about-intent .hero-type { width: auto; margin: 0; }
  .about-intent__row { grid-template-columns: 1fr; gap: 40px; margin: 40px 0 0; padding: 0; }
  .about-intent__img img { width: 220px; height: 220px; }
  .quote { margin-top: 0; gap: 24px; }

  /* Projeto */
  .project { gap: 48px; }

  /* Equipe */
  .team-hero { grid-template-columns: 1fr; gap: 48px; padding-top: 120px; }
  .team-hero__img { order: -1; }
  .team-research { margin-top: 64px; }
  .members, .ficha { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
  .credits { margin-top: 56px; padding-top: 40px; gap: 24px; }
  .logos { gap: 24px 48px; }
  .logos .logo { height: 72px; }

  /* Coleção */
  .page-collection .page { display: block; }
  .col-banner { position: relative; height: 62vw; min-height: 0; max-height: 640px; padding: 24px var(--pad); }
  .col-content { padding: 48px 0 80px; }
  .col-intro { padding: 0 var(--pad); gap: 32px; }
  .col-intro__text { padding: 0; }
  .gal-nav { margin-top: 64px; padding: 0 var(--pad); flex-direction: column; align-items: stretch; gap: 16px; }
  .gal-nav::before { top: 8px; }
  .gal-nav__label { margin-top: 0; gap: 12px; }
  .gal-nav__label img { width: 64px; height: 64px; }
  .gal-nav__links { justify-content: flex-end; }
  .col-section { margin-top: 96px; padding-left: var(--pad); gap: 32px; }
  .h2--icon { gap: 24px; }
  .h2--icon img { width: 64px; height: 64px; }

  /* Listas */
  .list-head { padding-top: 140px; gap: 32px; }
  .search-page, .search-status { margin-top: 0; }
  .search-results { margin-top: 32px; }
  .list { margin-top: 48px; }
}

@media (max-width: 767px) {
  :root { --pad: 20px; --hud-x: 16px; --hud-y: 16px; }

  .site-logo__mark { width: 34px; height: 52px; }
  .site-logo__text { font-size: 14px; line-height: 14px; }
  .sail { display: none; }

  /* Títulos quebram em várias linhas: o bloco verde passa a ficar no fim da primeira linha */
  .h1.has-marker, .h2.has-marker, .list-head .h2 { width: fit-content; max-width: 100%; }
  .marker { left: auto !important; right: 0; width: 3.4em !important; }

  .about-hero { padding-top: 104px; }
  .about-hero__block { top: 16px; }

  .team-hero { padding-top: 104px; }
  .members, .ficha { grid-template-columns: 1fr; gap: 28px; }
  .logos .logo { height: 56px; }
  .logos { gap: 20px 32px; }

  .col-banner { height: 92vw; }
  .gal-nav__label { font-size: 13px; line-height: 20px; }
  .gal-nav__label img { width: 48px; height: 48px; }
  .gal-nav__links { justify-content: space-between; }
  .h2--icon { gap: 12px; }
  .h2--icon img { width: 56px; height: 56px; }
  .carousel__track { gap: 20px; }
  .card-doc { width: 200px; height: 276px; }
  .mosaic { height: 280px; }
  .video { width: min(300px, 78vw); }
  .col-section .carousel__bar, .col-section .carousel__nav { margin-right: var(--pad); }

  .list-head { padding-top: 112px; gap: 24px; }
  .pub { align-items: flex-start; gap: 16px; padding: 20px 0; }
  .pub__icon { width: 48px; height: 48px; }
  .thumb { width: 140px; height: 140px; }
}

/* ==========================================================================
   WORDPRESS — ajustes do tema
   ========================================================================== */

/* Barra de administração (usuário logado) */
.admin-bar .site-header, .admin-bar .site-fade { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header, .admin-bar .site-fade { top: 46px; } }

/* Bloco verde automático: fica sobre o fim do título (títulos editáveis / outros idiomas) */
.has-marker--auto { width: fit-content; max-width: 100%; }
.marker--auto { left: auto; right: -.3em; top: .288em; width: 4.308em; height: 1.154em; }
.marker--h1 { top: .3em; width: 2.545em; height: .727em; }
.h2--icon .has-marker--auto { position: relative; isolation: isolate; }

/* Banner da coleção: foto enviada + filtro roxo/ciano do layout (SVG #asd-duo-lum) + sombra inferior */
.col-banner { isolation: isolate; overflow: hidden; }
.col-banner__img {
  position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover;
  filter: url(#asd-duo-lum);
}
.col-banner__shade {
  position: absolute; inset: 0; z-index: -1; pointer-events: none; mix-blend-mode: multiply;
  background: linear-gradient(to bottom, rgba(55, 36, 118, 0) 50%, rgba(55, 36, 118, .5));
}
.col-banner__credit { position: relative; }

/* Cards de documentos: capa com o mesmo filtro + degradê roxo */
.card-doc { isolation: isolate; }
.card-doc__img { filter: url(#asd-duo); }
.card-doc__shade {
  position: absolute; inset: 0; pointer-events: none; mix-blend-mode: multiply;
  background: linear-gradient(to bottom, rgba(55, 36, 118, 0) 49.5%, #372476);
}
.carousel--mosaic .carousel__track { gap: 8px; }
.mosaic { flex: none; }

/* Imagens enviadas pelo painel sempre preenchem o espaço do layout */
.player img, .about-acervo__img img, .about-intent__img img, .team-hero__img img, .project-banner img { height: 100%; object-fit: cover; }

/* Notícias (sem layout no Figma: segue as listas do site) */
.news { display: flex; gap: 40px; padding: 32px 0; border-bottom: 1px solid var(--linha); }
.news__img { flex: none; width: 280px; aspect-ratio: 4 / 3; overflow: hidden; }
.news__img img { width: 100%; height: 100%; object-fit: cover; }
.news__content { display: flex; flex-direction: column; gap: 12px; }
.news .pub__title a:hover { color: var(--azul); }
@media (max-width: 767px) { .news { flex-direction: column; gap: 16px; } .news__img { width: 100%; } }

/* Texto livre (notícias e páginas comuns) */
.entry h2, .entry h3 { font: 600 clamp(22px, 1.67vw, 32px)/1.25 var(--font-titulo); color: var(--roxo); margin: 1.4em 0 .4em; }
.entry ul, .entry ol { padding-left: 1.4em; list-style: revert; font: 400 clamp(16px, 1.05vw, 20px)/1.6 var(--font-texto); }
.entry a { color: var(--azul); text-decoration: underline; }
.entry img { height: auto; }
.entry figure { margin: 32px 0; }

/* Paginação */
.pager { margin-top: 48px; }
.pager .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pager .page-numbers {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px;
  border-radius: 22px; font: 600 16px/1 var(--font-titulo); color: var(--roxo); background: rgba(55, 36, 118, .06);
}
.pager .page-numbers.current, .pager a.page-numbers:hover { background: var(--verde); }

.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
