/*
Theme Name: REDE
Text Domain: rede
Author: NascerWeb | Christiano Amaral
Author URI: http://nascer.net/
Description: Template desenvolvido exclusivamente para a REDE Agroecologia no campo e na cidade, em parceria com a agência AMI CD.
Version: 1.0
*/
/*-------------------------------------------------------
WEBFONTS
-------------------------------------------------------*/
@font-face {
	font-family: 'CoreRhino25Thin';	
	font-style: normal;	
    font-weight: 300;
    font-display: swap;
	src: url('../fonts/CoreRhino25Thin.woff2') format('woff2'),
		 url('../fonts/CoreRhino25Thin.woff') format('woff');
}

@font-face {
	font-family: 'CoreRhino55Medium';	
	font-style: normal;	
    font-weight: 500;
    font-display: swap;
	src: url('../fonts/CoreRhino55Medium.woff2') format('woff2'),
		 url('../fonts/CoreRhino55Medium.woff') format('woff');
}
/*-------------------------------------------------------
RESET
-------------------------------------------------------*/
/* 0. Remove margins and padding */
html,
body,
html *,
body * {
	margin: 0;
	padding: 0;
	border: 0;
}

/* 1. Box sizing global */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* 2. Previne o aumento automático de fontes em dispositivos móveis */
html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/* 3. Remove margens padrão e define o comportamento do scroll */
body,
h1,
h2,
h3,
h4,
h5,
h6 p,
figure,
blockquote,
dl,
dd {
	margin-block-end: 0;
}

/* 4. Remove estilos de lista apenas quando usamos o atributo 
   (Útil para acessibilidade sem perder o estilo padrão de textos longos) */
ul,
ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* 5. Configurações base do corpo do site */
body {
	min-height: 100vh;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	/* Melhora a renderização no macOS/iOS */
}

/* 6. Melhora a legibilidade em títulos e elementos interativos */
h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
label {
	line-height: 1.1;
}

/* 8. Evita espaços estranhos abaixo das imagens */
img,
picture {
	display: block;
}

/* 9. Faz com que inputs e botões herdem as fontes do projeto */
input,
button,
textarea,
select,
address {
	font: inherit;
}

/* 10. Garante que textareas sem atributo 'rows' tenham um tamanho mínimo decente */
textarea:not([rows]) {
	min-height: 5em;
}

/* 11. limpa propriedades de campos de formulários */
input,
select,
textarea,
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	outline: none;
	background-color: transparent;
	box-shadow: none;
	box-sizing: border-box;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	line-height: inherit;
}

textarea {
	resize: vertical;
	/* Oculta o arrasto horizontal para não quebrar o layout, permite só vertical */
}

/* Remove o "X" de limpar que o Chrome/Safari injeta nos inputs de pesquisa */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance: none;
}

/* Remove a setinha padrão do select em navegadores da Microsoft */
select::-ms-expand {
	display: none;
}

/* 12. Adiciona margem de scroll para links internos (âncoras) não ficarem "colados" ao topo */
:target {
	scroll-margin-block: 5ex;
}

/* 13. ACESSIBILIDADE: Respeita a preferência de movimento reduzido do utilizador */
@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

a {
	color: inherit;
	text-decoration: none;
}

/*-------------------------------------------------------
VARIÁVEIS
-------------------------------------------------------*/
:root {
	/* Cores do design */
	--orange: #ED7F4F;
	--orange-light: #FFB697;
	--brown: #4E2A0E;
	--green-primary: #43806D;
	--green-light: #78AD6B;
	--green-dark: #2B5D1D;
	--green-olive: #909F14;
	--lime: #D7EEAE;
	--cream: #F8F1F1;
    --beige: #EFE4E4;    
	--white: #FFFFFF;

	/* Tipografia */
	--font-display-thin: 'CoreRhino25Thin', sans-serif;
    --font-display-medium: 'CoreRhino55Medium', sans-serif;
	--font-ui: "Work Sans", sans-serif;
	--font-body: "Source Sans 3", sans-serif;

	/* Bordas */	   
	--radius-full: 9999px;

	/* Layout */
	--container: 1046px;
}
/*-------------------------------------------------------
GERAIS
-------------------------------------------------------*/
html{
	height:100%;    
}
body {
	background-color: var(--white);
	color: var(--brown);
    font-family: var(--font-body);
    font-optical-sizing: auto;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;		
	overflow-x: hidden;
	min-height: 100%;	
}
body.no-scroll{
    overflow-y: hidden;
}
h1, h2, h3, h4, h5, h6 {	
    font-family: var(--font-display-medium);
	line-height: 1.25em;
    position: relative;	
}
h1,
h2{	
	font-size: 43px;          
}
h3{	
	font-size: 28px;	   
}
h4{
	font-size: 20px;	
}
h5{
	font-size: 16px;	
}
h6{
	font-size: 16px;
}
a{
    color: var(--brown);
	transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
}
strong{
	font-weight: 700;	
	}
em{
	font-style: italic;
}
p {
	line-height: 1.5em;
	margin-bottom: 1em;
}
p:last-child{
	margin-bottom: 0 !important;
}
.clearfix{
	clear:both;
}
.clearbox::after{
	content: "";
	display: table;
	clear:both;
}
img,
svg{
	display: block;
	height: auto;
}
svg path{
    transition: fill 300ms ease;
}
main {
	width: 100%;
	height: auto;	
    padding-top: 80px;	
	position: relative;		
    z-index: 200;
}
.home main{
    padding-top: 0;	
}
section{	
	width: 100%;
	height: auto;
	position: relative;		
}
.inner {
	width: 100%;
	max-width: var(--container);
    position: relative;   
	margin: 0 auto;
	padding: 48px 0;
}
/* VÍDEOS RESPONSIVOS (YOUTUBE / VIMEO) */
.video-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;  
    overflow: hidden;   
}
.video-wrapper {    
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
}
.video-wrapper iframe,
.video-wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ===================================================
   ESTILIZADORAS
   =================================================== */
/* COLORS */
.color-orange { color: var(--orange); }
.color-orange-light { color: var(--orange-light); }
.color-brown { color: var(--brown); }
.color-green-primary { color: var(--green-primary); }
.color-green-light { color: var(--green-light); } 
.color-green-dark { color: var(--green-dark); }
.color-green-olive { color: var(--green-olive); }
.color-lime { color: var(--lime); }
.color-cream { color: var(--cream); }
.color-beige { color: var(--beige); }
.color-white { color: var(--white); }  
/* BACKGROUNDS */
.bg-cream { background: var(--cream); }
/* ===================================================
   BOTÕES
   =================================================== */
.btn {
    min-width: 200px;
    border: 1px solid;
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 20px;	
    line-height: 1;
	text-transform: uppercase;
    text-align: center;
	padding: 9px 24px;
	border-radius: var(--radius-full);
	cursor: pointer;   
	transition: background 0.3s, border-color 0.3s, color 0.3s, box-shadow 0.3s, transform 0.3s;	
}

.btn--primary-green {
	background: var(--green-primary);
	color: var(--white);
	border-color: var(--green-primary);
}

.btn--outline-white {
	background: transparent;
	color: var(--white);
	border-color: var(--white);
}

.btn--outline-green {
	background: transparent;
	color: var(--green-primary);
	border-color: var(--green-primary);
}

.btn--outline-lime {
	background: transparent;
	color: var(--white);
	border-color: var(--lime);
}

.btn--outline-orange {
	background: transparent;
	color: var(--orange);
	border-color: var(--orange);
}

.btn--orange{
    background: var(--orange);
    color: var(--white);
    border-color: var(--orange);
}

.btn--white {
	background: var(--white);
	color: var(--green-primary);
	border-color: var(--white);
}

.btn:hover{
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
    transform: translateY(-2px);
}

.btn--hover-orange:hover{
    background: var(--orange);
    color: var(--white);
    border-color: var(--orange);   
}

.btn--hover-green:hover {
	background: var(--green-primary);
	color: var(--white);
	border-color: var(--green-primary);
}

.btn--hover-light:hover {
	background: var(--green-light);
	color: var(--white);
	border-color: var(--green-light);
}

.btn--hover-lime:hover{
    background: var(--lime);
    color: var(--green-primary);
    border-color: var(--lime);
}

.btn--hover-olive:hover{
    background: var(--green-olive);
    color: var(--white);
    border-color: var(--green-olive);
}

.btn--hover-white:hover{
    background: var(--white);
    color: var(--orange);
    border-color: var(--white);
}

/* ===================================================
   BADGES
   =================================================== */
.badge {
    width: max-content;    
	border: 1px solid var(--white);
    border-radius: var(--radius-full);
    padding: 0 10px;
	display: inline-block;
	font-family: var(--font-ui);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;	
}

.badge--white {
	color: var(--white);
}

.badge--lime {
	color: var(--lime);
}

/* ===================================================
   ELEMENTS
   =================================================== */

/* === SECTION HEADING === */
.section-heading {
    line-height: 1;	
}

.section-heading__light {
	display: block;
	font-family: var(--font-display-thin);	
}

.section-heading__bold {
	display: block;
	font-family: var(--font-display-medium);	
}

/* === SECTION INTRO === */

.section-intro {
	display: flex;
	gap: 36px;
	align-items: last baseline;	
}

.section-intro__desc {
    width: 370px;	
	color: var(--brown);	
}

/* === SECTION CTA === */

.section-cta {
	text-align: center;
}

/* === FILTER BUTTON === */
.filters-container {
	display: flex;
	gap: 10px;
}
.filter-btn {
    background: transparent;
	border: 1px solid var(--green-light);
	border-radius: var(--radius-full);
    min-width: 200px;
    padding: 4px 36px;
    display: inline-flex;
	justify-content: center;	
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--green-primary);		
	cursor: pointer;    
	transition: background 0.3s, color 0.3s;	
}

.filter-btn:hover {
	background: var(--green-light);
	color: var(--white);
}

.filter-btn:hover path{
    fill: var(--white);
}

/* === TAGS === */

.tags {
    display: flex;
    flex-wrap: wrap;
	gap: 6px;	
}

.tag {	
    min-width: 130px;
	padding: 4px 12px;	
	font-family: var(--font-ui);
	font-size: 12px;
	font-weight: 600;
    line-height: 1;
    text-align: center;
	text-transform: uppercase;
	border-radius: var(--radius-full);
	white-space: nowrap;	
}

/* === SHADOW EFFECT === */

.shadow-effect{
    transition: box-shadow 0.3s, transform 0.3s;
}

.shadow-effect:hover{
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
    transform: translateY(-2px);
}

/* ===================================================
   EMENDAS OWL
   =================================================== */
.owl-nav {	
	height: 30px;
	padding: 0;
    display: flex;	
	justify-content: space-between;
	position: absolute;	
	pointer-events: none;
}
.owl-prev,
.owl-next {
	background: var(--white) !important;
	border: none !important;
	border-radius: var(--radius-full);
	width: 30px;
	height: 30px;
	display: block;  	
    position: relative;
	pointer-events: all;
	transition: background 0.3s;	
}
.owl-next{   
    transform: scaleX(-1);   
}
.owl-prev span,
.owl-next span {
	background: var(--green-light);
	width: 12px;
	height: 12px;
	display: block;
	position: absolute;
	top: 9px;
	left: 11px;
	font-size: 0;
	transform: rotate(135deg);
	transition: background 0.3s;
}
.owl-prev span::after,
.owl-next span::after{
    content: "";
    background: var(--white);
    width: 9px;
    height: 9px;
    display: block;
    position: absolute;
    top: -1px;
    left: -1px;      
    transition: background 0.3s;	
}
.owl-prev:hover,
.owl-next:hover{
    background-color: var(--green-light) !important;     
}
.owl-prev:hover span,
.owl-next:hover span {
	background: var(--white);
}
.owl-prev:hover span::after,
.owl-next:hover span::after{    
    background: var(--green-light);
}
.owl-prev.disabled,
.owl-next.disabled{  
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed !important;    
}
.owl-dots {
    width: 100%;
    padding: 0;
    position: absolute;
    bottom: 0;	
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}
.owl-dots .owl-dot{
    background: var(--white) !important;
    width: 17px;
    height: 17px;
    border-radius: var(--radius-full);
    display: block;   
    position: relative;    
    transition: background 0.3s;
}
.owl-dots .owl-dot.active{
    background: var(--lime) !important;   
}

/* ===================================================
   PADRÃO
   =================================================== */
.padrao h2,
.padrao h3{
    position: relative;   
	margin: 2rem 0 1.5rem;  
}
.padrao h2:first-child,
.padrao h3:first-child{
    margin: 0 0 1.5rem;  
}
.padrao h2{
	font-size: 24px;	
    font-weight: 600;
}
.padrao h3{
	font-size: 20px;
    font-weight: 600;      
}
.padrao p a{		
	text-decoration: underline;
}
.padrao p a:hover{
	color: var(--orange);
}
.padrao blockquote {
    border-left: 1px solid var(--orange);
	padding: 16px 90px 16px 24px;	
	font-size: 20px;
	font-weight: 600;
	font-style: italic;
	color: var(--orange); 
    margin: 2rem 0 2rem 90px;
}
.padrao ul,
.padrao ol{  
	padding: 0 0 0 20px;
	margin: 2rem 0;	
}
.padrao ol{
	counter-reset: li;
}
.padrao li{
	position: relative;
	line-height: 1.5em;	
}
.padrao ul li::before {
	content: "\2022";
	color: var(--orange);
	font-size: 1.75em;
	position: absolute;
	left: -13px;
	line-height: 0.85em;
}
.padrao ol li {
	counter-increment: li;
}
.padrao ol li::before {
	content: counter(li)'.';
	color: var(--orange);
	font-size: 1em;
    font-weight: 700;
	position: absolute;
	left: -20px;	
}
.padrao .wp-caption{
	width: 100% !important;
	height: auto;
    margin: 2rem 0;
}
.padrao .wp-caption img{
    margin-bottom: 0 !important;
}
.padrao .wp-caption-text {   
    border-left: var(--orange);
	padding: 10px 40px 10px 16px;
    height: auto;   
	position: relative;	
	font-size: 16px;    
    font-style: italic;
	line-height: 1.5em;	
}
.padrao img.size-full,
.padrao img.size-large,
.padrao img.size-medium{
	width: 100%;
	height: auto;
	margin: 2rem 0;
}
.padrao img.size-full{
    width: 780px;
}
.padrao .table-container{
    margin: 2rem 0;
}
.padrao table {
    width: 780px; 
    border-collapse: collapse;    
}
.padrao table tr{
    border-top: 1px solid var(--orange);
}
.padrao table tr:last-child{
    border-bottom: 1px solid var(--orange);
}
.padrao table tr:nth-child(even) td{
    background-color: #f4f4f4;
}
.padrao table td {
    border: 1px solid var(--orange);
}
.padrao table th {   
    border: 1px solid var(--orange);          
    font-weight: 600;
}
.padrao table td,
.padrao table th {   
    border-top: none;
    border-bottom: none;   
    padding: 7px;
}
.padrao table td:first-child,
.padrao table th:first-child {
    border-left: none;     
}
.padrao table td:last-child,
.padrao table th:last-child {
    border-right: none;     
}
.padrao .video-container{
    width: 780px;
    max-width: 780px;   
    margin: 2rem 0;
}
.padrao .gallery {
	width: 780px;	    
	margin: 2rem 0;
}
.padrao .gallery .owl-nav {
	width: 100%;
	right: 0;
	top: 234px;
	transform: translateY(-50%);
	padding: 0 10px;
}
.padrao .gallery .owl-prev,
.padrao .gallery .owl-next {	
    background-color: var(--white) !important;   
}
.padrao .gallery .owl-prev span,
.padrao .gallery .owl-next span{
    background-color: var(--green-primary);   
}
.padrao .gallery .owl-prev:hover,
.padrao .gallery .owl-next:hover{
    background-color: var(--green-primary);    
}
.padrao .gallery .owl-prev:hover span,
.padrao .gallery .owl-next:hover span{
    background-color: var(--white) !important;    
}
.padrao .gallery .owl-prev.disabled,
.padrao .gallery .owl-next.disabled,
.padrao .gallery .owl-prev.disabled:hover,
.padrao .gallery .owl-next.disabled:hover{
    background-color: var(--white) !important;   	
}
.padrao .gallery .owl-prev.disabled:hover span,
.padrao .gallery .owl-next.disabled:hover span{
    background-color: var(--green-primary);   
}
.padrao iframe.wp-embedded-content{
    width: 100% !important;
}
.padrao *:last-child{
    margin-bottom: 0 !important;
}

/* ===================================================
   HEADER
   =================================================== */
.site-header,
.hero-header {	
    width: 100vw;	
	position: fixed;
	top: 0;
	z-index: 300;	
}
.home .site-header{
    top: -100px;
    transition: top 0.4s;
}
.home .site-header.visivel{
    top: 0
}

.home .site-header.visivel{
    top: 0;
}

.site-header__mask{
    background: var(--white);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.site-header .inner,
.hero-header .inner {
    max-width: 1366px;
    padding: 13px 75px;
	display: flex;
	align-items: center;
	justify-content: space-between;
    margin: 0 auto;
    z-index: 20;
}

/* Logo */
.site-header__logo_img{
    width: auto;
    height: 54px;
}

/* Nav */
.site-header__nav {
	display: flex;
	align-items: center;
	gap: 24px;
    position: relative;
}

/* BOTÃO MENU E BOTÕES DE ACESSO */
.btn-menu,
.btn-busca {	
    background: none;
    border: none;    
	width: max-content;
	height: 20px;	
    display: flex;	
    align-items: center;
    gap: 5px;
    cursor: pointer;   
}
.btn-menu-icone {    
	width: 21px;
	height: 15px;
    position: relative;
}
.btn-busca-icone {    
	width: 18px;
	height: 14px;
    position: relative;
}
.btn-menu-label,
.btn-busca-label{  
	color: var(--green-primary); 
    font-family: var(--font-display-medium);
	font-size: 20px;	
    line-height: 1;  
}
.btn-menu-icone .bar{
    background: var(--green-primary);
    border-radius: var(--radius-full);
    display: block;
    position: absolute;
    transform-origin: center center;
    transition: transform 0.3s, opacity 0.3s, background 0.3s;
    width: 21px;
    height: 3px;
    left: 0;
}
.btn-menu-icone .bar.bar-1{    
    top: 0;
}
.btn-menu-icone .bar.bar-2{   
    top: 6px;      
    z-index: 10;   
}
.btn-menu-icone .bar.bar-3{   
    top: 6px;         
}
.btn-menu-icone .bar.bar-4{  
    top: 12px;
}
.btn-menu.ativo .bar.bar-1,
.btn-menu.ativo .bar.bar-4{    
    opacity: 0;
}
.btn-menu.ativo .btn-menu-icone .bar.bar-2{
    transform: rotate(-30deg);
}
.btn-menu.ativo .btn-menu-icone .bar.bar-3{
    transform: rotate(30deg);
}

/* Nav e busca header */
.site-header__menu,
.site-header__search {   
    background: var(--orange-light);
    width: 100vw;
    height: 172px;
    padding: 80px 0 0;	
    display: flex;
    justify-content: center;
    align-items: center;   
    position: absolute;
    bottom: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s, bottom 0.3s;
}

.site-header__menu::after,
.site-header__search::after{
    content: "";
    background-image: url('../img/bg-menu.svg');
    background-repeat: no-repeat;  
    background-position: calc(100% - 60px) calc(50% - 10px);
    width: 50vw;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    right: 50%;
    opacity: 0.3;
    z-index: 0;
}

.site-header__menu.ativo,
.site-header__search.ativo{
    visibility: visible;
    opacity: 1;
    bottom: -92px;
}

.site-header__menu ul {
    width: 100%;
    max-width: 1366px;
    padding: 0 115px 0 75px;
	display: flex;   
    justify-content: end;      
    position: relative;        
    z-index: 10;
}

.site-header__menu ul li{
    padding: 0 19px 0 18px;
    position: relative;
}

.site-header__menu ul li::after {  
    content: ""; 
    display: block;
    position: absolute;   
    background: var(--white);
    width: 1px;
    height: 9px;  
    top: 50%;
    right: 0;
    transform: translateY(-50%);    
}

.site-header__menu ul li:first-child{
    padding-left: 0;
}

.site-header__menu ul li:last-child{
    padding-right: 0;
}

.site-header__menu ul li:last-child::after{
   content: none;
}

.site-header__menu ul li ul.sub-menu {
	background: var(--white);
	width: max-content;
	padding: 12px 20px 12px 16px;
    display: flex;
	flex-direction: column;
    justify-content: start;
	align-items: start;
	position: absolute;
    top: 30px;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    transition: opacity 0.3s, top 0.3s;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.site-header__menu ul li ul.sub-menu::before{
    content: "";
    background: transparent;
    width: 100%;
    height: 35px;
    display: block;
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: -1;
}   
.site-header__menu ul li.menu-item-has-children:hover > a{
    color: var(--green-dark);	
}
.site-header__menu ul li.menu-item-has-children:hover ul.sub-menu{
    top: 35px;
    visibility: visible;
    opacity: 1;
}
.site-header__menu ul li ul.sub-menu li {
    padding: 6px 0 7px;
}
.site-header__menu ul li ul.sub-menu li::after {
	background: var(--orange);
	width: 12px;
	height: 1px;
    top: auto;
    right: auto;
	bottom: 0;
	left: 0;
    transform: none;
}
.site-header__menu ul li ul.sub-menu li:first-child {
    padding-top: 0;
}
.site-header__menu ul li ul.sub-menu li:last-child {
    padding-bottom: 0;
}
.site-header__menu ul li ul.sub-menu li:last-child::after{
   content: none;
}

.site-header__menu a {
    display: block;
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 700;
    line-height: 1.25;
	text-transform: uppercase;	
	color: var(--brown);	
    position: relative;
    z-index: 1;
}

.site-header__menu a:hover {
	color: var(--green-dark);	
}

/* ===================================================
   FOOTER
   =================================================== */
.site-footer {
	background: var(--green-dark);	
}

.site-footer .inner {
	padding: 60px 150px 36px;   
    display: flex;
    flex-direction: column;
    gap: 75px;
}

.site-footer__grid {
    display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-logo {
	width: 230px;
}

/* Redes sociais */
.footer-social {
	display: flex;
	gap: 16px;
}

.social-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--lime);	
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s;
}

.social-icon svg{
    width: 30px;
}

.social-icon path{
    fill: var(--green-dark);
}

.social-icon:hover {
	background: var(--white);
}

/* Nav do footer */
.site-footer__nav {
    border-left: 1px solid var(--lime);
    height: 84px;
    padding: 5px 0 5px 36px;	
}

ul.footer-nav-col {  
    display: grid;    
    grid-auto-flow: column;    
    grid-template-rows: repeat(3, auto); 
    grid-auto-columns: max-content;     
    gap: 10px 36px;
    width: max-content;
}

ul.footer-nav-col li{   
    line-height: 1;
}

.footer-nav-col a {
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 700;
    line-height: 1.25em;
	text-transform: uppercase;	
	color: var(--white);	
}

.footer-nav-col a:hover {
	color: var(--lime);	
}

/* Copyright */
.site-footer__copy {
	text-align: center;
	font-family: var(--font-body);
	font-style: italic;
	font-size: 14px;
	color: var(--white);		
}

.site-footer__copy br{
    display: none;
}

.site-footer__copy a{
    color: var(--white);		
}

.site-footer__copy a:hover{
    color: var(--lime);		
}

/* ===================================================
   HERO
   =================================================== */
.hero {
    width: 100vw;
	height: 100vh;
	position: relative;	
}

.hero-header {	   
    background: transparent;
	padding: 36px 0 0;
	position: absolute;
	box-shadow: none;
}	

.hero-header .inner {   
    padding: 0 719px 0 75px;	
    justify-content: start;
    gap: 50px;
}

.hero-header .site-header__logo_img{
    filter: brightness(0) invert(1);
}

.hero-header .btn-menu-label,
.hero-header .btn-busca-label{  
	color: var(--white);     
}

.hero-header .btn-menu-icone .bar{
    background-color: var(--orange-light);    
}  

.hero-header .btn-menu.ativo .btn-menu-icone .bar.bar-2{
    background: var(--lime);
}

.hero-header .btn-busca-icone path{
    fill: var(--orange-light);
}

/* Nav e busca do hero */
.hero-header__menu,
.hero-header__search {   
    background: var(--lime);
    min-width: 568px;
    height: 56px;
    padding: 16px 22px;	
    position: absolute;
    top: 32px;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s;
}

.hero-header__menu.ativo,
.hero-header__search.ativo{
    visibility: visible;
    opacity: 1;
}

.hero-header__menu::before,
.hero-header__search::before {
    content: "";    
    background: var(--lime);
    width: 22px;
    height: 11px;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    position: absolute;
    top: -11px;
    left: 0;        
}

.hero-header__menu ul {
    width: max-content;
	display: flex;      
    gap: 16px;      
}

.hero-header__menu ul li{
    position: relative;
}

.hero-header__menu ul li ul.sub-menu {
	background: var(--white);
	width: max-content;
	padding: 12px 20px 12px 16px;
    display: flex;
	flex-direction: column;
    justify-content: start;
	align-items: start;
    gap: 10px;
	position: absolute;
    top: 25px;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    transition: opacity 0.3s, top 0.3s;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.hero-header__menu ul li ul.sub-menu::before{
    content: "";
    background: transparent;
    width: 100%;
    height: 30px;
    display: block;
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: -1;
}   
.hero-header__menu ul li.menu-item-has-children:hover > a{
    color: var(--green-dark);	
}
.hero-header__menu ul li.menu-item-has-children:hover ul.sub-menu{
    top: 30px;
    visibility: visible;
    opacity: 1;
}
.hero-header__menu a {
    display: block;
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 700;
    line-height: 1.25em;
	text-transform: uppercase;	
	color: var(--brown);	
}
.hero-header__menu a:hover {
	color: var(--green-dark);	
}

/* Busca do hero */
.hero-header__search::before {    
    left: 103px;        
}

/* SLIDER */
.hero-slider{
    position: relative;
}

.hero-item{
    width: 100vw;
	height: 100vh;	
    display: flex;
	justify-content: center;
	align-items: center;
    position: relative;	
}

.hero-item::after{
    content: "";  
    opacity: 0.9;
    width: 50vw;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.hero__content {
    width: 100%;
	max-width: 1126px;
    padding: 60px 0 0;
    position: relative;
    z-index: 30;
}

.hero__title {
	display: block;
    color: var(--white);	
    font-size: 145px;
	line-height: 0.9;
	margin-bottom: 24px;
}

.hero__title-thin,
.hero__title-bold {
	display: block;	
}

.hero__title-thin {	
	font-family: var(--font-display-thin);		
}

.hero__title-bold {
	font-family: var(--font-display-medium);	
    padding: 0 0 0 75px;	
}

.hero__desc {   
    border-left: 2px solid;
    width: 300px;
    padding: 0 0 0 20px;
	font-family: var(--font-body);		
	color: var(--white);	
    margin: 0 0 0 160px;
}

.hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.hero-item.slide-1::after,
.hero-item.slide-4::after{   
    background-color: var(--green-primary);   
}
.hero-item.slide-2::after,
.hero-item.slide-5::after{   
    background-color: var(--green-olive);   
}
.hero-item.slide-3::after,
.hero-item.slide-6::after{   
    background-color: var(--brown);   
}
.hero-item.slide-1 .hero__desc,
.hero-item.slide-4 .hero__desc {
    border-left: 2px solid var(--orange-light);   
}
.hero-item.slide-2 .hero__desc,
.hero-item.slide-5 .hero__desc {
    border-left: 2px solid var(--lime);   
}
.hero-item.slide-3 .hero__desc,
.hero-item.slide-6 .hero__desc {
    border-left: 2px solid var(--lime);    
}

.hero-slider .owl-dots {
	width: 17px;
	height: max-content;
	top: 50%;
	right: 48px;
}
.hero-slider .owl-dots::before,
.hero-slider .owl-dots::after{
    content: "";
    background: var(--white);
    width: 1px;
    height: 50px;
    display: block;
    position: absolute;
    left: 8px;
}
.hero-slider .owl-dots::before{
    top: -66px;
}
.hero-slider .owl-dots::after{
    bottom: -66px;
}

/* Slide Se liga! */
.hero-item.seliga::after{
    content: none;     
}

.hero-item.seliga .hero__content {   
	max-width: 1046px;
    padding: 60px 601px 0 0;  
}

.hero-item.seliga .section-heading {  
    margin-left: -24px;
	margin-bottom: 30px;	
    position: relative;
}
.hero-item.seliga .section-heading::before{
    content: "";
    background: url(../img/icone-seliga.svg) no-repeat;
    width: 50px;
    height: 50px;
    display: block;
    position: absolute;
    top: -3px;
    left: -55px;    

}
.hero-item.seliga .section-heading__bold{
    padding-left: 24px;
}
.hero-item.seliga .hero__title {
    font-family: var(--font-ui);	
    font-size: 24px;
    font-weight: 600;
	line-height: 1.25em;
    text-transform: uppercase;
	margin-bottom: 24px;
}

.hero-item.seliga .hero__text {   
    border-left: 2px solid var(--white);
    width: 380px;
    padding: 0 0 0 20px;
	font-family: var(--font-body);		
	color: var(--white);	
    margin: 0 0 30px;
}

.hero__image {
	width: 50%;	
    left: 50%;   
}


/* ===================================================
   NOSSA ATUAÇÃO
   =================================================== */
.our-action .section-heading {  
	margin-bottom: 0.75em;	
}

/* Cards de atuação */
.action-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 80px;
}

.action-card{
    display: flex;
}

.action-card__icon {
	width: 120px;
}
.action-card__text {
    padding-top: 32px;
	flex: 1;
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.65;
	color: var(--brown);
}

.action-card__title {
	font-family: var(--font-ui);
	font-size: 20px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--orange);
	line-height: 1.25;
	margin-bottom: 8px;
}

/* ===================================================
   DESTAQUES
   =================================================== */
.highlights {
	background: var(--green-primary);	
}

.highlights__grid {
	display: grid;
	grid-template-columns: 58% 42%;
	/* height: 600px; */
	width: 1046px;
    position: relative;
	margin: 0 auto;
}

.highlights__title {	
	height: 93px;
	padding-top: 24px;    
    position: absolute;
	z-index: 30;
    font-family: var(--font-display-medium);
}
.highlights__title::after{
    content: "";
    background: var(--green-primary);	
    width: 59px;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: -29px;   
    z-index: -1;
}

/* Coluna esquerda */
.highlights__main {
	display: flex;
	flex-direction: column;
    position: relative;
}

.highlights__photo {
    width: 100%;
	height: 100%;
	position: absolute;
    z-index: 10;	
}

.highlights__photo img {
	width: calc( 100% + 160px );
	height: 100%;
	object-fit: cover;
	display: block;
    position: absolute;
    top: 0;
    right: 0;
}

/* Coluna direita — 2 cards */
.highlights__cards {
	display: flex;
	flex-direction: column;	
}

.highlights__card {
	flex: 1;
	padding: 30px 0 30px 40px;
	display: flex;
	flex-direction: column;
    justify-content: end;	
    position: relative;
    z-index: 0;
}

.highlights__card::after{
    content: "";
    background: inherit;
    width: 50vw;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;   
    z-index: -1;
}

.highlights__cards .highlights__card:last-child{
    background: var(--green-light);
}

.highlights__main .highlights__card {	
    padding: 0 167px 30px 40px;
    position: relative; 
    z-index: 20;
}

.highlights__main .highlights__card::after{   
    background: linear-gradient(to top,rgba(67, 128, 109, 1) 15%, rgba(67, 128, 109, 0.8) 45%, rgba(67, 128, 109, 0.2) 100%);
    width: calc( 100% + 160px );    
    right: 0;
    left: auto;   
}

.highlights__card-title {
	font-family: var(--font-ui);
	font-size: 24px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--lime);
    margin: 1rem 0;	
}

.highlights__card-text {		
	color: var(--white);	
    margin-bottom: 1.5em;	
}

/* ===================================================
   SABERES DA TERRA
   =================================================== */
.earth-knowledge .section-intro {	
	margin-bottom: 48px;
}

.earth-knowledge .library-grid {
    padding: 0;	
	margin-bottom: 36px;
}

.earth-knowledge .library-card{
    background: var(--cream);
    border: 2px solid var(--white);   
}

.earth-knowledge .library-card__img-wrap {
    width: calc(100% + 4px);
	margin: -2px 0 0 -2px;
}

.earth-knowledge__cta {
	text-align: center;
}

/* ============================================================
   PÁGINAS
   ============================================================ */

/* === BREADCRUMB === */
.breadcrumb {
    display: flex;
	align-items: center;
	gap: 4px;	
    line-height: 1.5;
	text-transform: uppercase;	
	color: var(--white);
	margin-bottom: 45px;
}

.breadcrumb a {
	color: var(--white);
}

.breadcrumb a:hover {
	color: var(--lime);
}

.breadcrumb__current {
	text-decoration: underline solid var(--lime) 1px;
    text-underline-offset: 4px;
}

/* BREADCRUMB */
.navegacao-breadcrumb {   
    display: flex;
	align-items: center;
	gap: 4px;	
    line-height: 1.5;
	text-transform: uppercase;	
	color: var(--white);
	margin-bottom: 45px;
}
.navegacao-breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.navegacao-breadcrumb li {
    display: inline-block;
}
.navegacao-breadcrumb .separador {
    margin: 0 4px;   
}
.navegacao-breadcrumb a {
	color: var(--white);
}
.navegacao-breadcrumb a:hover {
	color: var(--lime);
}
.pagina-atual {
	text-decoration: underline solid var(--lime) 1px;
    text-underline-offset: 4px;
}



/* === HERO PAGE === */
.hero-page .inner {
	padding: 0;
}

.hero-page__bubble {
	width: 50%;
	height: 555px;
    padding: 48px 36px 0 0;
	display: flex;
    flex-direction: column;		
	position: relative;
    z-index: 20;
}

.hero-page__bubble::after{
    content: "";
    background: var(--orange);
    width: 740px;
	height: 740px;
	border-radius: 50%;
    position: absolute;
    right: 0;
    bottom: 0;	
    z-index: -1;
}

.hero-page__phrase {	
	color: var(--white);
    margin-bottom: 0.5em;
}

.hero-page .hero__desc{   
    border-color: var(--lime);
    margin: 0;
}

.hero-page__visual-text {
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.72);
	text-align: center;
}

.hero-page__photo {
    width: calc( 50% + 195px );
	height: 510px;    
	position: absolute;
    top: 0;
    right: 0;
    z-index: 10
}

.hero-page__photo img {
	width: calc( 50vw + 195px );
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ============================================================
   Adicionado em: quem-somos.html
   ============================================================ */

.qs-page__body .inner {
	padding: 36px 90px 36px 350px;
}

/* === MISSION TRIO === */
.mission-trio{ 
    background: linear-gradient(to right, var(--green-primary) 0%, var(--green-primary) 50%, var(--green-dark) 51%, var(--green-dark) 100%);
}
.mission-trio .inner {
    max-width: 1366px;
    padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.mission-card {
	position: relative;
	min-height: 400px;	
}

.mission-card h3{
    font-size: 43px;
}

.mission-card > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mission-card__overlay {
	height: 100%;	
    padding-top: 60px;   
    /* (Largura Total - 310px) = Espaço que sobra.
    Multiplicamos o que sobra pela proporção original (85 de 145 ou 60 de 145) */
    padding-left: calc((100% - 310px) * (85 / 145));
    padding-right: calc((100% - 310px) * (60 / 145));
	display: flex;
	flex-direction: column;
	gap: 20px;
    position: relative;
	z-index: 1;
}

.mission-card:nth-child(1) .mission-card__overlay{
    background: linear-gradient(to top,rgba(67, 128, 109, 1) 15%, rgba(67, 128, 109, 0.8) 45%, rgba(67, 128, 109, 0.2) 100%);
}

.mission-card:nth-child(2) .mission-card__overlay{
    background: linear-gradient(to top,rgba(144, 159, 20, 1) 15%, rgba(144, 159, 20, 0.8) 45%, rgba(144, 159, 20, 0.2) 100%);
}

.mission-card:nth-child(3) .mission-card__overlay{
    background: linear-gradient(to top,rgba(43, 93, 29, 1) 15%, rgba(43, 93, 29, 0.8) 45%, rgba(43, 93, 29, 0.2) 100%);
}

.mission-title-light {
	display: block;
	font-family: var(--font-display-medium);
	font-weight: 300;
	font-style: italic;
	font-size: 28px;
	color: var(--white);
}

.mission-title-bold {
	display: block;
	font-family: var(--font-display-medium);
	font-weight: 700;
	font-size: 28px;
	color: var(--white);
}

.mission-card__text {
	border-left: 2px solid var(--lime);	
	padding: 0 0 0 20px;
	font-family: var(--font-body);
	color: var(--white);	
}

.mission-card__text .padrao ul {
	padding: 0 0 0 12px;
	margin: 0;
}

.mission-card__text .padrao ul li::before {	
	color: var(--lime);		
}

/* === MOSAIC GALLERY === */
.mosaic .inner{    
    max-width: 1366px;
    height: 530px; 
    padding: 0;   
}
.mosaic-gallery {   
    height: 100%;
    display: grid;
    /* Traduzimos as percentagens de largura em frações (fr) */
    grid-template-columns: 36fr 18fr 18fr 28fr;
    /* Traduzimos as percentagens de altura em frações (fr) */
    grid-template-rows: 46fr 54fr;    
    grid-column-gap: 0px; /* Mude para 10px ou similar se quiser um espaçamento entre as fotos */
    grid-row-gap: 0px;   
}
/* 1. Imagem da Esquerda (Ocupa a Coluna 1 inteira, Linhas 1 a 3) */
.mosaic-gallery .image1 { 
    grid-area: 1 / 1 / 3 / 2; 
}
/* 2. Imagem Meio-Topo (Ocupa as Colunas 2 e 3 juntas, na Linha 1) */
.mosaic-gallery .image2 { 
    grid-area: 1 / 2 / 2 / 4; 
}
/* 3. Imagem Meio-Baixo-Esquerda (Ocupa a Coluna 2, na Linha 2) */
.mosaic-gallery .image3 { 
    grid-area: 2 / 2 / 3 / 3; 
}
/* 4. Imagem Meio-Baixo-Direita (Ocupa a Coluna 3, na Linha 2) */
.mosaic-gallery .image4 { 
    grid-area: 2 / 3 / 3 / 4; 
}
/* 5. Imagem da Direita (Ocupa a Coluna 4 inteira, Linhas 1 a 3) */
.mosaic-gallery .image5 { 
    grid-area: 1 / 4 / 3 / 5; 
}

/* Todas as imagens ocupam todo o espaço */
.mosaic-gallery img{
    width: 100%;
	height: 100%;
    min-width: 0;
    min-height: 0;
	object-fit: cover;
}

/* === HISTÓRIA === */
.history .inner {	
	padding: 48px 0 36px;
}

.history .section-heading {
	margin-bottom: 0.5em;
}

.text-block__content {
	padding: 0 182px 0 258px;
}

/* === MILESTONES (MARCOS) === */
.milestones .inner {	
	padding: 36px 1px 48px;
}

.milestones .section-heading {
	margin-bottom: 0.75em;
}

.milestones .filter-container{
    margin-bottom: 16px;
}

.milestones__year-select.filter-btn{
    appearance: none;
    background-color: transparent;
	background-image: url("../img/seta-select-verde.svg");
	background-repeat: no-repeat;
	background-position: right 14px center;	
    text-align: center;
}
.milestones__year-select.filter-btn:hover {
	background-color: transparent;
	color: var(--green-primary);
}

/* === MILESTONE TRACK === */

.milestones__track {
    position: relative;
}

.milestone-card {
    width: 261px;
    padding: 0 48px 60px 0;
	position: relative;
}

.milestone-card__photo {
	width: 122px;
	height: 122px;
    margin-bottom: 10px;
}	

.milestone-card__photo img {
    border-radius: var(--radius-full);
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.milestone-card__meta {
    width: 122px;
    position: relative;
    color: var(--green-primary);
	font-family: var(--font-ui);
	font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;	
    margin-bottom: 36px;
}
.milestones__carousel::after,
.milestone-card__meta::before,
.milestone-card__meta::after{
    content: "";
    background: var(--green-olive);  
    display: block;
    position: absolute;   
}

.milestone-card__meta::before{ 
    border-radius: var(--radius-full);
    width: 12px;
    height: 12px;  
    bottom: -21px;
    left: 50%;
    transform: translateX(-50%);
}

.milestone-card__meta::after{  
    width: 265px;
    height: 1px;  
    bottom: -16px;
    left: 0;
}

.milestone-card__title {
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 600;
	color: var(--green-primary);	
}

.milestone-card .btn{
    position: absolute;
    bottom: 0;
    left: 0; 
}

.milestones__carousel{
    padding: 48px 0 60px;
}

.milestones__carousel::after{  
    width: calc(100% + (50vw - 523px));
    height: 1px;  
    top: 213px;
    left: 0;
}

.milestones__carousel .owl-stage {
    display: flex;
}
.milestones__carousel .owl-item {
    display: flex;
    flex: 1 0 auto;
}

.milestones__carousel .owl-nav{
    width: 72px;
    top: 0;
    left: 0;
}

.milestones__carousel .owl-dot {
	background: var(--brown) !important;
    opacity: 0.3;
}

.milestones__carousel .owl-dot.active {
	background: var(--green-olive) !important;
    opacity: 1;
}

/* === ACTIONS MAP === */
.actions-map .section-intro {	
	margin-bottom: 20px;
}

.actions-map .filter-container{
    margin-bottom: 48px;
}

.map-wrap {
	overflow: hidden;
	margin-bottom: 36px;
	width: 100vw;
	height: 550px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.map-image{
    width: 100%;
	height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);	
}

.actions-map__cta {
	text-align: center;
}

/* === FLAGS (BANDEIRAS) === */

.flags .inner{
    max-width: 970px;
}
.flags .section-intro {	
	margin-bottom: 44px;
}

.owl-bandeiras {
	padding: 0 0 48px;
}

.owl-bandeiras .owl-nav{
    width: calc(100% + 76px);
	top: 120px;
    left: -38px;	
}

.flag-card {
    background: var(--cream);
    width: 186px;	
    padding-top: 4px;	
}

.flag-card__image{
    mix-blend-mode: multiply;
    transition: transform 0.3s;
}

.flag-card:hover .flag-card__image {
	transform: translateY(-4px);
}	

/* === AGENDA 2030 === */
.agenda2030 .section-heading {
	margin-bottom: 0.5em;
}

.agenda2030 .text-block__content {
	margin-bottom: 36px;
}

.sdg-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 16px;
}

.sdg-grid img{
    transition: transform 0.3s;    
}

.sdg-grid img:hover {
	transform: translateY(-4px);
}	

/* === MEET TEAM === */

.meet-team .section-heading {
	margin-bottom: 1.25em;
}

/* Accordion */
.accordion {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.accordion-item{
    border: 1px solid var(--green-light);
    border-radius: 40px;
    padding: 40px 56px 40px 60px;
}

.accordion-button {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.accordion-button svg{
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: 16px;
    transition: transform 0.3s;
}

.accordion-item.ativo .accordion-button svg{
    transform: rotate(180deg);
}

.accordion-button svg path{
    fill: var(--green-light);
}

.accordion-title h4{
    color: var(--green-primary);
    font-family: var(--font-body);   
    font-weight: 600;	
    transition: color 0.3s;
}
.accordion-item.ativo .accordion-title h4,
.accordion-button:hover .accordion-title h4{
    color: var(--green-light);
}

/* Team cards grid */
.team-list{
    padding: 40px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 56px 26px;
}

.team-card {
    width: 150px;
	display: flex;
	flex-direction: column;	
	text-align: center;	
}

.team-card__photo {
	width: 150px;
	height: 128px;
	border-radius: 20px;	
    object-fit: cover;
    margin-bottom: 10px;
}

.team-card__name {
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 600;
	color: var(--green-primary);	
    margin-bottom: 10px;
}

.team-card .btn {
	min-width: 100%;
    max-width: 100%;
    margin-top: auto;
}

/* === POPUP === */
.pop-up {
    background: var(--white);
    width: 550px;     
    /* Limita o popup para não vazar a tela */
    max-height: calc(100vh - 12px);        
    padding: 0 !important;       
    display: none;        
    /* 1. SEGREDO 1: Corta qualquer vazamento e mata a rolagem externa da modal */
    overflow: hidden !important; 
}
.btn-close{    
    background: var(--white);
    border: none;
    border-radius: var(--radius-full);
    width: 35px;
    height: 35px;
    padding: 0;
    display: block;
    position: absolute;
    top: 2%;
    right: 20px;    
    z-index: 2;
    font-size: 0;
    cursor: pointer;
    transition: background 0.3s;
}
.btn-close::before,
.btn-close::after{
    content: "";   
    background: var(--orange);
    border-radius: var(--radius-full);
    width: 21px;
    height: 3px;
    display: block;
    position: absolute;   
    top: 50%;
    left: 50%; 
    transform-origin: center center;
    transform: translate(-50%,-50%) rotate(30deg);
    transition: background 0.3s;
}
.btn-close::after{       
    transform: translate(-50%,-50%) rotate(-30deg);
}
.btn-close:hover{
    background: var(--orange);   
}
.btn-close:hover::before,
.btn-close:hover::after{      
    background: var(--white);
}
.pop-up__content {
    width: 100%;    
    /* AJUSTE DE SEGURANÇA: Como o .pop-up é inline-block, alguns navegadores 
       ignoram o height: 100%. Repetimos o limite aqui para garantir que 
       o Flexbox saiba exatamente qual é o teto máximo! */
    max-height: min(780px, calc(100vh - 12px));    
    display: flex;   
    flex-direction: column;
    position: relative;
    z-index: 0;
}

.pop-up__photo {   
    width: 100%;
    height: 365px;
    object-fit: cover;
    /* 1. SEGREDO: Impede que o texto longo esmague a imagem */
    flex-shrink: 0; 
}

.pop-up__infos-container {
    width: 100%;    
    height: calc( 100% - 365px );
    padding: 30px 35px 30px 65px;    
    /* 2. SEGREDO: Preenche o espaço restante, mas a trava "min-height: 0" 
       impede que o container quebre o limite de 660px do pai */
    min-height: 0;
    flex: 1;         
    /* 3. Passa a altura respeitada para o filho (pop-up__infos) */
    display: flex;
    flex-direction: column;
}

.pop-up__infos {
    width: 100%;
    padding-right: 15px;    
    /* 4. SEGREDO: Ocupa a área travada e ativa a barra de rolagem */
    flex: 1;
    overflow-y: auto;   
}

.pop-up_meta,
.pop-up_title{
    color: var(--green-primary);
    font-family: var(--font-ui);      
}
.pop-up_meta{   
    font-size: 12px;
    font-weight: 700;   
    text-transform: uppercase;
    margin-bottom: 0.5em;    
}
.pop-up_title{  
    font-size: 18px;
    font-weight: 600;     
    margin-bottom: 1em;  
}
.pop-up_title em{
    font-weight: 500;
    line-height: 1.5;
}
.pop-up_text{
    border-left: 1px solid var(--orange);
    padding-left: 12px;
}
/* === PARTNERS === */
.partners .inner{
    padding: 60px 0;
}
.partners_title{
    color: var(--green-primary);
    font-family: var(--font-ui);
    font-size: 18px;
    font-weight: 600;  
    text-transform: uppercase;
    margin-bottom: 48px;  
}
.partners__row {
	display: flex;
	align-items: center;
	justify-content: start;
    flex-wrap: wrap;
	gap: 20px;	
}

.partner-logo {
    width: 166px;
    height: 166px;
    display: flex;	
    justify-content: center;
    align-items: center;
}

.partner-logo__image{
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;   
}

/* ============================================================
   Adicionado em: transparencia.html
   ============================================================ */
.hero-page.hero-transparency .hero-page__bubble::after {	
	background: var(--brown);	
}

/* === LISTA TRANSPARÊNCIA === */

.transparency-list {
	width: 100%;
	max-width: 870px;
	padding: 48px 0 60px;
	display: flex;
	flex-direction: column;
	gap: 20px;	
}

.transparency-card {   
    background: var(--white);
    border: 1px solid var(--beige);		
	border-radius: 32px;		
    height: 310px;
	display: flex;		
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;   
}

.transparency-card:hover {
	border-color: var(--green-primary);	  
}


.transparency-card__img-wrap {
    width: 430px;
    height: 310px;
    position: relative;
    top: -1px;
    left: -1px;	
}

.transparency-card__img-wrap img {
    border-radius: 32px;	
	width: 100%;
	height: 100%;
	object-fit: cover;	
}

.transparency-card__body {
    width: 440px;
	padding: 20px 20px 20px 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	justify-content: start;
    align-items: start;
}

h2.transparency-card_title{
    font-size: 32px;
}

.transparency-card__desc {
	border-left: 2px solid var(--green-primary);	
	padding: 0 0 0 20px;	
	margin: 0 0 0 35px;
}
.transparency-card .btn{
    margin: 8px 0 0 35px;
}


/* === DOCUMENTOS INSTITUCIONAIS === */
.documents .inner {
    border-bottom: 1px solid var(--beige);
	padding: 48px 0 96px;
}

.documents .section-heading {
	margin-bottom: 1.25em;
}

.documents__grid {
	display: flex;
	gap: 10px;	
}

.doc-card {
    border: 1px solid var(--beige);
	border-radius: 23px;
    width: 254px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 18px 0 32px;	
	cursor: pointer;	
	min-width: 160px;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

.doc-card:hover {
	border-color: var(--green-primary);	  
}

.doc-card__icon-container {
    border-radius: var(--radius-full);
    background: var(--beige);
    width: 126px;
    height: 126px;    
    display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
    transition: background 0.3s;
}

.doc-card:hover .doc-card__icon-container {
	background: var(--green-primary);
}

.doc-card:hover .doc-card__icon path {
    fill: var(--white)
}

.doc-card__name {
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 600;
	color: var(--green-primary);
}

.doc-card__download {
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.7;
}

/* === RELATÓRIOS ANUAIS === */
.reports .inner {
    border-bottom: 1px solid var(--beige);
	padding: 48px 0 60px;
}

.reports .section-heading {
	margin-bottom: 0.75em;
}

.reports .filter-container{
    margin-bottom: 36px;
}

.reports__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;	
}

.report-card{
    background: var(--white);
    border: 1px solid var(--beige);
    border-radius: 24px;
    position: relative;
    min-height: 236px;    
}

.report-card__img-wrap {
    width: calc(100% + 2px);
	position: relative;			
	top: -1px;
	left: -1px;
}

.report-card__img-wrap img {
	width: 100%;
	height: 145px;
    border-radius: 24px;
	object-fit: cover;
	display: block;
}

.report-card__text-wrap{
    padding: 16px 18px 32px;
}

.report-card__title {    
    color: var(--green-primary);	
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 600;	
    transition: color 0.3s;
}

.report-card__title:hover{
    color: var(--green-dark);
}

/* === CONVÊNIOS E PARCERIAS / OPORTUNIDADES DE TRABALHO === */
.partnerships .inner,
.jobs .inner {
    padding: 48px 88px 60px 0;	
}

.partnerships .section-heading,
.jobs .section-heading {
	margin-bottom: 0.5em;
}

.partnerships .filters-container,
.jobs .filters-container {
    justify-content: center;
	margin-bottom: 24px;
}
.partnership .accordion-item,
.jobs .accordion-item {	
	padding: 40px 56px 40px 88px;
}
.partnership .accordion-button,
.job .accordion-button {	
	align-items: start;
}
.partnership .accordion-button svg,
.job .accordion-button svg{
    position: relative;
    top: 10px;
}
.partnership .accordion-title,
.job .accordion-title {
	padding-right: 135px;
}
.partnership h3.conv-title,
.job h3.conv-title {
    text-transform: uppercase;
}

.conv-desc{
    padding-right: 208px;
}

.conv-badge {
    border-radius: var(--radius-full);
    border: 1px solid var(--orange);
    width: max-content;
    min-width: 130px;
    padding: 2px 14px;
    display: block;
	font-family: var(--font-ui);
	font-size: 12px;
	font-weight: 600;
	color: var(--green-primary);
	text-transform: uppercase;
    margin-bottom: 8px;
}

.conv-org { 
    display: block;
    color: var(--orange);
	font-size: 20px;
	font-weight: 600;
    line-height: 1.25;	
    margin-bottom: 3px;
	
}

.conv-title {
	font-family: var(--font-ui);
	font-size: 24px;
	font-weight: 600;
	color: var(--green-primary);	
}

/* === CONVÊNIOS E PARCERIAS === */
.conv-detail {
	padding: 24px 208px 0 0;   
    position: relative;	
    margin-top: 20px;
}

.conv-detail::before{
    content: "";
    border-top: 1px solid var(--white); 
    width: 142px;
    height: 1px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.conv-detail-label {	
	font-weight: 700;	
}

.conv-detail-value {
	font-weight: 500;	
}

/* === OPORTUNIDADES DE TRABALHO === */
.job-detail {
	padding: 10px 208px 0 0;   
    position: relative;	
    margin-top: 10px;
}

.job-detail::before{
    content: "";
    border-top: 1px solid var(--orange); 
    width: 38px;
    height: 1px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.job-type {	
	font-size: 20px;
	font-weight: 600;
	color: var(--orange);
    margin-bottom: 1em;	
}

.job-detail .padrao{
    margin-bottom: 1em;	
}

.job-meta-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.job-meta-row {
	display: flex;
	align-items: center;
	gap: 10px;		
}

.job-meta-row svg {
	flex-shrink: 0;
}

.job-meta-link {	
	font-weight: 700;
	text-decoration: underline solid var(--orange) 1px;
	text-underline-offset: 4px;    
}

.job-meta-link:hover{
    color: var(--orange);
}

/* === BANCO DE TALENTOS === */
.talent-bank {
    background: var(--lime);	
    overflow: hidden;
}

.talent-bank .inner{
    min-height: 400px;
    padding: 0;
    display: flex;       
}

.talent-bank__photo {
    width: 420px;
    position: relative;	
}

.talent-bank__photo img {
    border-radius: var(--radius-full);
	width: 746px;
	height: 746px;
	object-fit: cover;
	display: block;
    position: absolute;
    top: 0;      
    right: 0;
    transform: translate(0, -148px);
}

.talent-bank__content {
    width: 566px;
	padding: 36px 0 105px 110px;
	display: flex;
	flex-direction: column;	
    align-items: start;	  
    position: relative;  
    z-index: 0;
}

.talent-bank__content::after{
    content: "";
    background: var(--orange);
    border-radius: var(--radius-full);
    width: 1098px;
    height: 1098px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translate(-36px, 96px);
    z-index: -1;
}

.talent-bank__content .section-heading{
    margin-bottom: 16px;
}

.talent-bank__desc {	
	color: var(--white);
    font-weight: 600;
    margin-bottom: 20px;
}

/* === CANAL DE DENÚNCIA === */
.denounce {
	background: var(--brown);	
}

.denounce .inner {
    min-height: 400px;
    padding: 36px 0;
	display: flex;
	align-items: center;
	gap: 36px;
}

.denounce__circle {	
    background: var(--orange);
	width: 318px;
	height: 318px;
	border-radius: var(--radius-full);	
	display: flex;
	align-items: center;
	justify-content: center;
}

.denounce__content {
    width: 456px;	
}

.denounce__content .section-heading{
    margin-bottom: 16px;
}

.denounce__content .section-heading__bold {
    width: max-content;
	display: flex;
	align-items: center;
	gap: 14px;
}

.denounce-arrows {
	margin-top: 7px;
}

.denounce__desc{	
	color: var(--white);
    font-weight: 600;
    margin-bottom: 20px;
}

/* ============================================================
   Adicionado em: atuacao.html
   ============================================================ */

/* === ATUAÇÃO HERO === */
.atuacao-hero {
	background: var(--lime);
}

.atuacao-hero .inner {	
	height: calc( 100vh - 80px );
    max-height: 507px;	
    padding: 0;
    display: flex;
}

.atuacao-hero__photo {
    width: 440px;	
    position: relative;	
}

.atuacao-hero__photo img {
	width: calc( 100% + 160px );
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
}

.atuacao-hero__content {
	width: 606px;
	padding: 36px 0 60px 80px;
	display: flex;
	flex-direction: column;
	justify-content: end;
	gap: 36px;
}

.hero-page-alt .navegacao-breadcrumb{
    color: var(--green-dark);
    margin-bottom: auto;	
}
.hero-page-alt .navegacao-breadcrumb a {
	color: var(--green-dark);
}

.hero-page-alt .navegacao-breadcrumb a:hover {
	color: var(--orange);
}

.hero-page-alt .navegacao-breadcrumb .pagina-atual {	
    text-decoration-color: var(--orange);	
}

.hero-page-alt__title {	
	color: var(--green-dark);
}

.hero-page-alt .hero__desc {
	border-left: 2px solid var(--orange);	
	color: var(--green-dark);
	margin: 0;
}

/* === PROJETOS — seção completa === */
.projects-section .filters-container {	
	justify-content: center;
}

.projects-list {
    width: 100%;
    max-width: 870px;
    padding: 48px 0 60px;
    display: flex;
	flex-direction: column;
	gap: 20px;	
    margin: 0 auto;
}

/* === CARD DE PROJETO === */
.project-card {
    background: var(--cream);
    border: 2px solid var(--white);		
	border-radius: 32px;		
    height: 280px;
	display: flex;		   
}

.project-card__img-wrap {
    width: 430px;
    height: 280px;
    position: relative;
    top: -2px;
    left: -2px;	
}

.project-card__img-wrap img {
    border-radius: 32px;	
	width: 100%;
	height: 100%;
	object-fit: cover;	
}

.project-card__body {
    width: 440px;
	padding: 20px 110px 20px 28px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	justify-content: start;
}

/* Tags do projeto */
.project-tags .tag{
    background: var(--white);
    color: var(--green-dark);
}

.project-tags .tag--ativo {
	background: var(--green-light);
	color: var(--white);
}

.project-tags .tag--concluido {
	background: var(--orange);
	color: var(--white);
}

/* Título do projeto */
.project-name {
    padding-top: 20px;
	font-family: var(--font-ui);
	font-weight: 600;
	font-size: 24px;	
	color: var(--green-primary);
	text-transform: uppercase;
    position: relative;
    transition: color 0.3s;
}

.project-name::before{
    content: "";
    border-top: 1px solid var(--orange); 
    width: 50px;
    height: 1px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.project-name:hover{
    color: var(--orange);
}

 

/* ============================================================
   Adicionado em: biblioteca.html
   ============================================================ */

/* === HERO DA BIBLIOTECA === */
.biblioteca-hero .inner {
    width: 1014px;
    height: 100vh;
    max-height: 507px;
    padding: 0;
    display: flex;	
}

.biblioteca-hero__circle {
    width: 50%;
    height: 100%;
    padding: 48px 0 0;
	position: relative;
    z-index: 1;
}

.biblioteca-hero__circle::after {
	content: "";
	background: var(--orange);
	width: 690px;
	height: 690px;
	border-radius: 50%;
	position: absolute;
	right: 56px;
	bottom: 0;
	z-index: -1;
}

.biblioteca-hero__content {
	width: 50%;	
    padding: 48px 0 60px;
	display: flex;
	flex-direction: column;
	justify-content: end;
	gap: 36px;
    position: relative;
    z-index: 0;
}

.biblioteca-hero__content::after {
	content: "";
	background: var(--beige);
	width: calc( 50vw + 410px);
	height: 100%;
	position: absolute;
	left: -410px;
	top: 0;
	z-index: -1;
}

/* === ITEM EM DESTAQUE (carrossel) === */
.featured-item .inner {
	width: 966px;
    padding: 48px 0 0;
}

.featured-carousel {
	padding-bottom: 28px;
}

.featured-slide {
	border: 1px solid var(--beige);
	border-radius: 32px;
	height: 340px;	
    display: flex;
}

.featured-slide__img-wrap {
	width: 482px;
    height: 340px;
    position: relative;
    margin: -1px 0 0 -1px;
}

.featured-slide__img {
    border-radius: 32px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.featured-slide__body {   
	padding: 24px 28px;
    flex: 1;
	display: flex;
	flex-direction: column;	
	gap: 56px;	
}

/* Tags do destaque */
.feat-tags .tag{
    background: var(--beige);
    color: var(--green-dark);
}

.feat-title {
    padding-top: 20px;
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 24px;
    color: var(--green-primary);
    text-transform: uppercase;
    position: relative;
    transition: color 0.3s;
}

.feat-title::before {
	content: "";
	border-top: 1px solid var(--orange);
	width: 50px;
	height: 1px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.feat-title:hover{
    color: var(--orange);
}

/* === SEÇÃO: FILTROS + GRID + PAGINAÇÃO === */
.biblioteca-section .inner {	
    padding: 60px 0;
}

.biblioteca-section .filters-container {
	justify-content: center;
}

/* Grid de cards da biblioteca */
.library-grid {
    padding: 48px 0 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;	
}

.library-card{
    background: var(--white);
    border: 1px solid var(--beige);
    border-radius: 30px 30px 24px 24px;
    display: flex;
    flex-direction: column;
    position: relative;
    min-height: 268px;   
}

.library-card__img-wrap {
    width: calc(100% + 2px);
	margin: -1px 0 0 -1px;
}

.library-card__img-wrap img {
	width: 100%;
	height: 145px;
    border-radius: 24px;
	object-fit: cover;
	display: block;
}

.library-card__tags {
    padding: 15px 12px 0;
    display: flex;
    flex-wrap: wrap;
	gap: 6px;
	position: absolute;
	top: 0;
	left: 0;
}

.lib-tag {
	background: var(--white);
	padding: 4px 15px;
	color: var(--green-dark);
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 600;
    line-height: 1;
	text-transform: uppercase;
	border-radius: var(--radius-full);
	white-space: nowrap;	
}

.library-card__text-wrap{
    padding: 30px 18px 20px;
}

.library-card__title {    
    color: var(--green-primary);	
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 600;	
    transition: color 0.3s;
}

.library-card__title:hover{
    color: var(--green-dark);
}

/* === PAGINAÇÃO === */
.pagination {
	width: 100%;
	height: auto;
	padding-top: 48px;
	text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;	
}

.page-numbers{   
	width: max-content;    
	height: 20px;	
    color: var(--green-primary);
    font-family: var(--font-ui);	
    font-size: 20px;
	font-weight: 700;
	line-height: 1;
	display: block;	
}
.page-numbers.current,
.page-numbers:hover{	
	color: var(--orange);
}
.page-numbers.prev,
.page-numbers.next{
    padding: 2px 4px;   
}
.page-numbers.prev:hover path,
.page-numbers.next:hover{  
    fill: var(--orange);
}

/* ============================================================
   Adicionado em: contato.html
   ============================================================ */

/* === HERO CONTATO === */
.contato-hero {
	background: var(--beige);
}

.contato-hero .inner {
    max-width: 1186px;    
    padding: 0;
    display: flex;	
    align-items: start;    
}

.contato-hero__circle {
    width: 420px;   
    height: 514px;
    padding: 114px 0 0;
	position: relative;
    z-index: 1;
}

.contato-hero__circle::after {
	content: "";
	background: var(--green-light);
	width: 690px;
	height: 690px;
	border-radius: 50%;
	position: absolute;
	right: 36px;
	bottom: 0;
	z-index: -1;
}

.contato-hero__content {	
    width: 766px;  
    min-height: 560px;
	padding: 48px 0 60px;
	display: flex;
    flex-direction: column;
	justify-content: end;
	gap: 12px;
    position: relative;
    z-index: 0;
}

.contato-hero .navegacao-breadcrumb{
    color: var(--green-dark);
    margin-bottom: auto;	
}
.contato-hero .navegacao-breadcrumb a {
	color: var(--green-dark);
}

.contato-hero .navegacao-breadcrumb a:hover {
	color: var(--orange);
}

.contato-hero .navegacao-breadcrumb .pagina-atual {	
    text-decoration-color: var(--orange);	
}

.contato__title {	
	color: var(--green-light);   
    margin-bottom: 20px;
}

.contato-info-grid {
	display: flex;	
	gap: 30px;
}

.contato-info-col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.contato-info-item {
	display: flex;
	align-items: flex-start;
	gap: 30px;
    position: relative;
}

.contato-info-icon {	
    width: 40px;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 0;
}

.contato-info-item.item--primary::before,
.contato-info-item.item--secondary::before{
    content: "";
    background: var(--white);
    width: 1px;   
    display: block;
    position: absolute;    
    left: 20px;   
}

.contato-info-item.item--primary::before {
	height: calc( 100% - 56px );
	top: 65px;
}

.contato-info-item.item--secondary::before {
	height: calc( 100% - 23px );
	top: 33px;
}

.contato-info-item.item--primary .contato-info-icon:after {
	content: "";
    background: var(--white);
    border-radius: var(--radius-full);
    width: 72px;
    height: 72px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;

}

.contato-info-content{
    flex: 1;
}

.contato-info-label {
    padding-top: 4px;
	display: block;
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 600;
    line-height: 1;	
	color: var(--green-light);
	margin-bottom: 4px;
}

.contato-info-item.item--primary .contato-info-label{
    padding-top: 12px;
    font-size: 24px;
    text-transform: uppercase;
    margin-bottom: 12px;
}
 
/* === FORMULÁRIO DE CONTATO === */
.contact-form-section .inner {
    max-width: 606px;	
}

.contact-form-section__title {
	font-family: var(--font-ui);
	font-size: 24px;
	font-weight: 600;
	text-transform: uppercase;	
	color: var(--brown);
	margin-bottom: 36px;
}

.contact-form {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.form-label {
    display: block;
	font-family: var(--font-ui);
	font-size: 18px;
    font-weight: 600;
	color: var(--brown);
    margin-bottom: 5px;
}

.form-input,
.form-select,
.form-textarea {
	font-family: var(--font-body);
	font-size: 16px;
    font-weight: 400;
	color: var(--brown);
	background: var(--white);
	border: 1px solid var(--green-light);
	border-radius: 12px;
	padding: 0 16px;
	width: 100%;
    height: 40px;
	transition: border-color 0.3s;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	outline: none;
	border-color: var(--orange);
}

.form-select {
	appearance: none;
	background-image: url("img/seta-select.svg");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
	cursor: pointer;
}

.form-textarea {
	resize: none;
	min-height: 236px;
	line-height: 1.5;
}

.form-submit {
	display: flex;
	justify-content: center;
	padding-top: 8px;
}

.form-submit .btn {
	min-width: 180px;
}

/* === ASSESSORIA DE IMPRENSA === */
.press-section .inner {
	max-width: 870px;
    padding: 48px 0 60px;
}

.press-section .section-heading {
	margin-bottom: 36px;
}

.press-items {
	display: flex;
	flex-direction: column;
	gap: 36px;	
}

.press-item {
	border: 2px solid var(--white);
	border-radius: 40px;
	height: 280px;	
    display: flex;
}

.press-item__img-wrap {
	width: 430px;
    height: 280px;
    position: relative;
    margin: -2px 0 0 -2px;
}

.press-item__img {
    border-radius: 40px;
	width: 100%;
	height: 100%;
	object-fit: cover;	
}

.press-item__card {	
	padding: 54px 24px 36px 36px;   
    flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: start;	
}

.press-item__title {
    padding-top: 20px;
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 24px;
    color: var(--green-primary);
    text-transform: uppercase;
    position: relative;
    margin-bottom: 10px;
}

.press-item__title::before {
	content: "";
	border-top: 1px solid var(--orange);
	width: 50px;
	height: 1px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.press-item__desc {	
    width: 342px;
    margin-bottom: 1.25rem;
}

.press-item__card .btn {
	align-self: flex-start;
}

.media-relations .press-item__title{
    margin-bottom: 28px;
}

.media-relations .contato-info-col {	
	gap: 8px;
}

.media-relations .contato-info-item {	
	gap: 12px;	
}

/* ============================================================
   Adicionado em: item-relatorio.html
   ============================================================ */

/* Fundo salmão/laranja para hero do relatório */
.item-bib-hero--salmon {
	background: var(--orange);
}

/* Borda do callout mais escura para contrastar com fundo laranja */
.item-relatorio__callout {
	border-left-color: rgba(78, 42, 14, 0.5);
}

/* Imagem com object-fit contain (mockup de publicação sobre fundo claro) */
.item-bib-hero__img--contain img {
	object-fit: contain;
	background: transparent;
}



/* ============================================================
   Adicionado em: item-biblioteca.html
   ============================================================ */

/* === VARIANTE DE BOTÃO: OUTLINE ESCURO === */
.btn--outline-dark {
	background: transparent;
	color: var(--brown);
	border: 1.5px solid var(--brown);
}

.btn--outline-dark:hover {
	background: var(--brown);
	color: var(--white);
}

/* === HERO DO ITEM DA BIBLIOTECA === */
.item-bib-hero {
	background: var(--cream);
	padding-block: 36px;
}

.item-bib-hero__grid {
	display: grid;
	grid-template-columns: 46% 54%;
	gap: 52px;
	align-items: start;
}

.item-bib-hero__img {
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.item-bib-hero__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.item-bib-hero__content {
	padding-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.item-bib-breadcrumb {
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--green-dark);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}

.item-bib-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.item-bib-breadcrumb a:hover {
	text-decoration: underline;
}

.item-bib-breadcrumb__current {
	text-decoration: underline;
}

.item-bib-title {
	font-family: var(--font-display-medium);
	font-weight: 700;
	font-size: 38px;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--green-primary);
	letter-spacing: 0.01em;
}

/* === CORPO: DESCRIÇÃO + PREVIEW === */
.item-bib-body {
	background: var(--white);
	padding-block: 80px;
}

.item-bib-body__grid {
	display: grid;
	grid-template-columns: 36% 64%;
	gap: 56px;
	align-items: start;
}

.item-bib-body__text {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.item-bib-desc {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.8;
	color: #444;
}

.item-bib-share__label {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 600;
	color: var(--orange);
	margin-bottom: 10px;
}

.item-bib-share__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.share-whatsapp-btn {
	width: 44px;
	height: 44px;
	background: var(--orange);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	flex-shrink: 0;
	transition: background 0.3s;
}

.share-whatsapp-btn:hover {
	background: #d46f40;
}

/* === PREVIEW DO DOCUMENTO (simulação de viewer PDF) === */
.item-bib-body__preview {
	position: relative;
}

.doc-preview {
	border: 1px solid #bbb;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12);
}

.doc-preview__toolbar {
	background: #3e4450;
	padding: 6px 12px;
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 36px;
}

.doc-preview__toolbar-group {
	display: flex;
	align-items: center;
	gap: 6px;
}

.doc-preview__toolbar-right {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
}

.doc-preview__toolbar-text {
	font-family: var(--font-body);
	font-size: 11px;
	color: #d4d4d4;
	user-select: none;
	white-space: nowrap;
}

.doc-preview__sep {
	color: #666;
	font-size: 16px;
	margin: 0 6px;
	line-height: 1;
	user-select: none;
}

.doc-preview__icon-btn {
	background: none;
	border: none;
	cursor: pointer;
	color: #aaa;
	padding: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	transition: background 0.15s, color 0.15s;
}

.doc-preview__icon-btn:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.doc-preview__frame {
	background: #525659;
	padding: 20px;
	display: flex;
	justify-content: center;
	min-height: 480px;
	align-items: flex-start;
}

.doc-preview__page {
	width: 100%;
	max-width: 520px;
	display: block;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}


/* ============================================================
   Adicionado em: item-destaque.html
   ============================================================ */

/* === HERO DO DESTAQUE === */
.destaque-hero {
	display: grid;
	grid-template-columns: 44% 56%;
	min-height: 420px;
	overflow: hidden;
}

.destaque-hero__img {
	overflow: hidden;
}

.destaque-hero__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.destaque-hero__content {
	background: var(--cream);
	padding: 56px 80px 56px 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
}

.destaque-hero__title {
	font-family: var(--font-display-medium);
	font-weight: 700;
	font-size: 36px;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--green-primary);
}

/* === CORPO DO ARTIGO === */
.article-body {
	background: var(--white);
	padding-block: 80px;
}

.article-content {
	max-width: 640px;
}

.article-block {
	margin-bottom: 32px;
}

.article-block:last-child {
	margin-bottom: 0;
}

.article-heading {
	font-family: var(--font-display-medium);
	font-weight: 700;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--green-primary);
	margin-bottom: 16px;
}

.article-subheading {
	font-family: var(--font-display-medium);
	font-weight: 600;
	font-size: 16px;
	color: var(--green-primary);
	margin-bottom: 12px;
}

.article-text {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.8;
	color: #444;
	margin-bottom: 16px;
}

.article-text:last-child {
	margin-bottom: 0;
}

/* === GALERIA / CARROSSEL DE IMAGENS === */
.gallery-slider {
	background: var(--white);
	padding-bottom: 80px;
}

.gallery-slider__track {
	position: relative;
	overflow: hidden;
}

.gallery-slider__img {
	width: 100%;
	aspect-ratio: 16 / 7;
	object-fit: cover;
	display: block;
}

.gallery-slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.65);
	border: none;
	cursor: pointer;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--green-dark);
	transition: background 0.3s;
	z-index: 1;
}

.gallery-slider__nav:hover {
	background: rgba(255, 255, 255, 0.92);
}

.gallery-slider__nav--prev {
	left: 12px;
}

.gallery-slider__nav--next {
	right: 12px;
}

.gallery-slider__footer {
	display: flex;
	justify-content: flex-end;
	padding-top: 12px;
}

.gallery-slider__caption {
	max-width: 420px;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.65;
	color: #555;
}

/* === BOX: FOTO CIRCULAR + CONTEÚDO === */
.destaque-box {
	display: grid;
	grid-template-columns: 40% 60%;
	background: var(--orange);
	min-height: 480px;
	overflow: hidden;
}

.destaque-box__circle-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 32px 48px 48px;
}

.destaque-box__img {
	width: 100%;
	max-width: 320px;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.destaque-box__content {
	padding: 56px 80px 56px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
}

.destaque-box__title {
	font-family: var(--font-display-medium);
	font-weight: 700;
	font-size: 28px;
	text-transform: uppercase;
	color: var(--green-dark);
	line-height: 1.2;
}

.destaque-box__text {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.75;
	color: rgba(40, 20, 5, 0.82);
}

/* === CTA === */
.destaque-cta {
	background: var(--white);
	padding-block: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ===================================================
   RESPONSIVIDADE
   =================================================== */

@media (max-width: 1024px) {


	.inner {
		padding-inline: 40px;
	}

	/* hero da home */
	.hero-header .inner {
		padding-inline: 40px;
	}

	.hero__title-thin,
	.hero__title-bold {
		font-size: 64px;
	}

	/* nossa atuação */
	.action-grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}

	/* destaques */
	.highlights__grid {
		grid-template-columns: 1fr;
		width: 100%;
		height: auto;
	}

	.highlights__main {
		min-height: 380px;
	}

	.highlights__cards {
		flex-direction: row;
	}

	.highlights__card:last-child {
		border-top: none;
		border-left: 1px solid rgba(255, 255, 255, 0.18);
	}

	/* saberes da terra */
	.library-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* footer */
	.site-footer .inner {
		padding: 60px 40px 36px;
	}

	.site-footer__grid {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	/* quem somos — hero page */
	.hero-page__bubble {
		width: 60%;
	}

	.hero-page__photo {
		width: calc(40% + 195px);
	}

	.hero-page__photo img {
		width: calc(40vw + 195px);
	}

	.qs-page__body .inner {
		padding: 36px 40px;
	}

	.text-block__content {
		padding: 0;
	}

	/* missão/visão/valores */
	.mission-trio .inner {
		grid-template-columns: 1fr;
	}

	.mission-card {
		min-height: 280px;
	}

	/* SDG */
	.sdg-grid {
		grid-template-columns: repeat(6, 1fr);
	}

	/* atuação */
	.atuacao-hero .inner {
		flex-direction: column;
		height: auto;
		max-height: none;
	}

	.atuacao-hero__photo {
		width: 100%;
		min-height: 280px;
		overflow: hidden;
	}

	.atuacao-hero__photo img {
		width: 100%;
		position: relative;
	}

	.atuacao-hero__content {
		width: 100%;
		padding: 40px;
	}

	.project-card {
		flex-direction: column;
		height: auto;
	}

	.project-card__img-wrap {
		width: calc(100% + 4px);
		height: 220px;
	}

	.project-card__body {
		width: 100%;
		padding: 20px 28px 28px;
	}

	/* transparência */
	.reports__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* banco de talentos */
	.talent-bank .inner {
		flex-direction: column;
	}

	.talent-bank__photo {
		width: 100%;
		min-height: 280px;
	}

	.talent-bank__photo img {
		position: relative;
		width: 100%;
		height: 280px;
		transform: none;
		top: auto;
		right: auto;
	}

	.talent-bank__content {
		width: 100%;
		padding: 48px 40px;
	}

	/* canal de denúncia */
	.denounce .inner {
		flex-direction: column;
		gap: 28px;
	}

	.biblioteca-hero .inner {
		flex-direction: column;
		width: 100%;
		height: auto;
		max-height: none;
	}

	.biblioteca-hero__circle {
		width: 100%;
		min-height: 280px;
	}

	.biblioteca-hero__content {
		width: 100%;
		padding: 40px 40px 48px;
	}

	.featured-item .inner {
		width: 100%;
	}

	.featured-slide {
		flex-direction: column;
		height: auto;
	}

	.featured-slide__img-wrap {
		width: calc(100% + 2px);
		height: 220px;
	}

	.featured-slide__body {
		padding: 28px 32px;
		gap: 28px;
	}

	.contato-hero .inner {
		flex-direction: column;
	}

	.contato-hero__circle {
		width: 100%;
		min-height: 260px;
	}

	.contato-hero__content {
		width: 100%;
		padding: 48px 40px;
	}

	.press-item__img-wrap {
		width: 240px;
	}

	.item-bib-hero__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.item-bib-hero__img {
		aspect-ratio: 16 / 9;
	}

	.item-bib-body__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.destaque-hero {
		grid-template-columns: 1fr;
	}

	.destaque-hero__img {
		min-height: 300px;
	}

	.destaque-hero__content {
		padding: 48px 40px;
	}

	.destaque-box {
		grid-template-columns: 1fr;
	}

	.destaque-box__circle-panel {
		min-height: 300px;
		padding: 40px;
	}

	.destaque-box__content {
		padding: 40px 40px 56px;
	}

}

@media (max-width: 768px) {


	.inner {
		padding-inline: 24px;
	}

	/* header */
	.site-header .inner,
	.hero-header .inner {
		padding-inline: 24px;
	}

	/* hero da home */
	.hero__title-thin,
	.hero__title-bold {
		font-size: 48px;
	}

	/* headings de seção */
	.section-heading__light,
	.section-heading__bold {
		font-size: 32px;
	}

	/* section intro */
	.section-intro__desc {
		width: 100%;
	}

	/* filtros */
	.filter-btn {
		min-width: auto;
		font-size: 16px;
		padding: 4px 20px;
	}

	/* nossa atuação */
	.action-grid {
		grid-template-columns: 1fr;
	}

	/* destaques */
	.highlights__cards {
		flex-direction: column;
	}

	.highlights__card:last-child {
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.18);
	}

	/* saberes da terra */
	.library-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* footer */
	.site-footer .inner {
		padding: 48px 24px 36px;
		gap: 48px;
	}

	.site-footer__nav {
		border-left: none;
		border-top: 1px solid var(--lime);
		height: auto;
		padding: 24px 0 0;
	}

	ul.footer-nav-col {
		grid-auto-flow: row;
		grid-template-rows: none;
		grid-template-columns: repeat(2, max-content);
		gap: 10px 36px;
	}

	/* quem somos — hero page (layout empilhado) */
	.hero-page__bubble {
		width: 100%;
		height: auto;
		padding: 48px 24px 300px;
	}

	.hero-page__bubble::after {
		width: 480px;
		height: 480px;
	}

	.hero-page__photo {
		position: relative;
		top: auto;
		right: auto;
		width: 100%;
		height: 260px;
	}

	.hero-page__photo img {
		width: 100%;
		height: 100%;
	}

	.hero-page__phrase {
		font-size: 16px;
	}

	.qs-page__body .inner {
		padding: 36px 24px;
	}

	/* marcos */
	.milestones .filter-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	/* SDG */
	.sdg-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	/* transparência */
	.reports__grid {
		grid-template-columns: 1fr 1fr;
	}

	.documents__grid {
		flex-wrap: wrap;
	}

	/* atuação */
	.hero-page-alt__title {
		font-size: 26px;
	}

	.project-name {
		font-size: 16px;
	}

	.projects-section .filters-container {
		gap: 10px;
		flex-wrap: wrap;
	}

	.biblioteca-hero .inner {
		width: 100%;
	}

	.biblioteca-hero__content {
		padding: 40px 24px 48px;
		gap: 20px;
	}

	.biblioteca-hero__circle {
		min-height: 240px;
	}

	.biblioteca-hero__circle::after {
		width: 480px;
		height: 480px;
	}

	.biblioteca-section .filters-container {
		gap: 8px;
		flex-wrap: wrap;
	}

	.feat-title {
		font-size: 17px;
	}

	.contato__title {
		font-size: 30px;
	}

	.contato-info-grid {
		flex-direction: column;
	}

	.press-item {
		flex-direction: column;
		height: auto;
	}

	.press-item__img-wrap {
		width: calc(100% + 4px);
		height: 220px;
	}

	.press-item__img {
		border-radius: 40px 40px 0 0;
		min-height: 200px;
	}

	.press-item__card {
		border-radius: 0 0 40px 40px;
	}

	.contact-form {
		max-width: 100%;
	}

	.item-bib-title {
		font-size: 28px;
	}

	.doc-preview__frame {
		padding: 12px;
		min-height: 320px;
	}

	.destaque-hero__title {
		font-size: 28px;
	}

	.article-heading {
		font-size: 16px;
	}

	.article-content {
		max-width: 100%;
	}

	.destaque-box__title {
		font-size: 22px;
	}

	.gallery-slider__caption {
		max-width: 100%;
	}

	.destaque-box__content {
		padding: 36px 32px 48px;
	}

}


/* ============================================================
   SINGLE PROJETO — single-projeto.php
   ============================================================ */

/* ---- projeto-descricao: sidebar info + corpo (2 colunas) ---- */

.projeto-descricao .inner {
	display: flex;
	align-items: stretch;
	padding: 0;
}

.projeto-info {
	width: 300px;
	flex-shrink: 0;
	background: var(--lime);
	padding: 48px 36px;
}

.projeto-info__item {
	position: relative;
	padding-left: 32px;
	margin-bottom: 36px;
}

.projeto-info__item:last-child {
	margin-bottom: 0;
}

.projeto-info__item::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 3px;
	width: 18px;
	height: 18px;
	background: center / contain no-repeat;
}

/* Público */
.projeto-info__item:nth-child(1)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232B5D1D' d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E");
}

/* Localidade */
.projeto-info__item:nth-child(2)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232B5D1D' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
}

/* Período de Execução */
.projeto-info__item:nth-child(3)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232B5D1D' d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'/%3E%3C/svg%3E");
}

.projeto-info__item h3 {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--green-dark);
	margin: 0 0 8px;
}

.projeto-info__item > div {
	font-size: 14px;
	line-height: 1.6;
	color: var(--brown);
}

.projeto-corpo {
	flex: 1;
	min-width: 0;
	padding: 48px 60px;
}

/* ---- Objetivos do projeto ---- */

.projeto-objetivos {
	padding: 56px 0;
	background: #f4f2ed;
}

.projeto-objetivos .inner > h2 {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--green-dark);
	margin: 0 0 32px;
}

.projeto-objetivos__lista {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.projeto-objetivos__item {
	background: #fff;
	border-radius: 4px;
	padding: 28px 24px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--brown);
}

.projeto-objetivos__item p:last-child {
	margin-bottom: 0;
}

/* ---- Galeria ---- */

.projeto-galeria {
	padding: 56px 0;
}

.projeto-galeria .inner > h2 {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--green-dark);
	margin: 0 0 28px;
}

.galeria-slide {
	display: flex !important;
	align-items: stretch;
}

.galeria-slide__img {
	display: block;
	flex: 0 0 68%;
	overflow: hidden;
	line-height: 0;
}

.galeria-slide__img img {
	width: 100%;
	height: 460px;
	object-fit: cover;
	display: block;
}

.galeria-slide__caption {
	flex: 1;
	background: var(--lime);
	padding: 36px 40px;
	display: flex;
	align-items: center;
	font-size: 14px;
	line-height: 1.7;
	color: var(--brown);
}

.galeria-slide__caption p:last-child {
	margin-bottom: 0;
}

/* ---- Conteúdos relacionados ---- */

.projeto-relacionados {
	padding: 56px 0;
	background: #faf8f4;
}

.projeto-relacionados .inner > h2 {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--brown);
	margin: 0 0 40px;
}

.projeto-relacionados__grupo {
	margin-bottom: 48px;
}

.projeto-relacionados__grupo:last-child {
	margin-bottom: 0;
}

.projeto-relacionados__grupo > h3 {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--orange);
	margin: 0 0 20px;
}

/* ---- Logos envolvidos ---- */

.projeto-logos {
	padding: 56px 0;
	border-top: 1px solid rgba(78, 42, 14, 0.12);
}

.projeto-logos .inner > h2 {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--green-dark);
	margin: 0 0 40px;
}

.projeto-logos__grupos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px 56px;
}

/* Apoio (3º grupo) → largura total */
.projeto-logos__grupo:nth-child(3) {
	grid-column: 1 / -1;
}

.projeto-logos__grupo > h3 {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--green-dark);
	margin: 0 0 16px;
}

.projeto-logos__lista {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 28px;
}

.projeto-logos__lista img {
	height: 44px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}

.projeto-logos__lista img:hover {
	opacity: 1;
}

/* ---- Responsive: tablet ---- */

@media (max-width: 1024px) {

	.projeto-descricao .inner {
		flex-direction: column;
	}

	.projeto-info {
		width: 100%;
		padding: 36px 40px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}

	.projeto-info__item {
		margin-bottom: 0;
	}

	.projeto-corpo {
		padding: 40px;
	}

	.projeto-objetivos__lista {
		grid-template-columns: repeat(2, 1fr);
	}

	.galeria-slide__img img {
		height: 360px;
	}

	.projeto-logos__grupos {
		gap: 24px 40px;
	}

}

/* ---- Responsive: mobile ---- */

@media (max-width: 768px) {

	.projeto-info {
		grid-template-columns: 1fr;
		padding: 32px 24px;
	}

	.projeto-corpo {
		padding: 32px 24px;
	}

	.projeto-objetivos__lista {
		grid-template-columns: 1fr;
	}

	.galeria-slide {
		flex-direction: column;
	}

	.galeria-slide__img {
		flex: none;
	}

	.galeria-slide__img img {
		height: 260px;
	}

	.galeria-slide__caption {
		padding: 24px;
	}

	.projeto-logos__grupos {
		grid-template-columns: 1fr;
	}

	.projeto-logos__grupo:nth-child(3) {
		grid-column: auto;
	}

	.projeto-logos .inner > h2,
	.projeto-relacionados .inner > h2,
	.projeto-galeria .inner > h2,
	.projeto-objetivos .inner > h2 {
		font-size: 17px;
	}

}

