﻿:root {
  --green: #061a10;
  --green2: #0a2819;
  --green3: #123d28;
  --gold: #d8ad4b;
  --gold2: #a66d00;
  --cream: #fff8ec;
  --paper: #f7efe1;
  --text: #000;
  --muted: #000;
  --container: 1180px;
  --shadow: 0 28px 80px rgba(0, 0, 0, .18);
  --radius: 28px
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  font-family: Montserrat, Arial, sans-serif;
  background: var(--cream);
  color: var(--text);
  overflow-x: hidden
}

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

img {
  max-width: 100%;
  display: block
}

.container {
  width: min(var(--container), calc(100% - 40px));
  margin-inline: auto
}

.loader {
  position: fixed;
  inset: 0;
  background: var(--green);
  z-index: 9999;
  display: grid;
  place-items: center;
  transition: .6s
}

.loader.hide {
  opacity: 0;
  visibility: hidden
}

.loader span {
  color: var(--gold2);
  border: 2px solid var(--gold);
  border-radius: 50%;
  width: 110px;
  height: 110px;
  display: grid;
  place-items: center;
  font-weight: 800
}

.header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 80;
  /*background: linear-gradient(180deg, rgba(6, 26, 16, .96), rgba(6, 26, 16, .65));*/
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  padding: 16px 0;
  transition: .3s
}

.header.scrolled {
  padding: 9px 0;
  background: rgba(6, 26, 16, .96)
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px
}

.logo {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff
}

.seal {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  border: 3px solid var(--gold);
  background: radial-gradient(circle, #16482e 0 42%, #071c11 43%);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .08);
  display: grid;
  place-items: center;
  line-height: 1;
  text-align: center
}

.seal span {
  color: var(--gold2);
  font-size: 13px;
  margin-bottom: -11px
}

.seal b {
  font-size: 12px
}

.logo-text {
  display: flex;
  flex-direction: column;
  text-transform: uppercase;
  line-height: 1.2
}

.logo-text b {
  font-size: 13px
}

.logo-text small {
  font-size: 12px;
  opacity: .72;
  font-weight: 700
}

.desktop-menu {
  display: flex;
  align-items: center;
  gap: 27px
}

.desktop-menu a {
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em
}

.desktop-menu a:hover {
  color: var(--gold2)
}

.menu-cta {
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: #172016 !important;
  padding: 14px 21px;
  border-radius: 10px
}

.hamb {
  display: none;
  background: none;
  border: 0;
  flex-direction: column;
  gap: 6px
}

.hamb i {
  width: 32px;
  height: 2px;
  background: white;
  display: block
}

.hero {
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  padding: 128px 0 72px;
  background: var(--green);
  overflow: hidden
}

.hero-bg,
.hero-img {
  position: absolute;
  inset: 0
}

.hero-img {
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.03);
  transition: opacity 1.8s ease, transform 7s ease
}

.hero-img.active {
  opacity: 1;
  transform: scale(1.13)
}

.hero-mask {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 74% 24%, rgba(216, 173, 75, .22), transparent 30%), linear-gradient(90deg, rgba(6, 26, 16, .98), rgba(6, 26, 16, .78) 46%, rgba(6, 26, 16, .28)), linear-gradient(0deg, rgba(6, 26, 16, .94), transparent 45%, rgba(6, 26, 16, .7))
}

.leaf-line {
  position: absolute;
  inset: auto auto 40px 8%;
  width: 330px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .55
}

.hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 410px;
  gap: 78px;
  align-items: center
}

.hero h1 {
  font-size: clamp(30px, 5vw, 45px);
  line-height: 1.02;
  margin: 0;
  color: #fff;
  font-weight: 600;
  letter-spacing: -.055em;
  max-width: 820px
}

.hero p {
  color: rgba(255, 255, 255, .82);
  font-size: 17px;
  line-height: 22px;
  max-width: 620px;
  margin: 24px 0 31px
}

.actions {
  display: flex;
  gap: 15px;
  flex-wrap: wrap
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 11px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .07em;
  border: 1px solid transparent;
  transition: .25s
}

.btn:hover {
  transform: translateY(-2px)
}

.gold {
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: #172016;
  box-shadow: 0 18px 40px rgba(216, 173, 75, .2)
}

.ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, .36);
  background: rgba(255, 255, 255, .04);
  backdrop-filter: blur(10px)
}

.dark {
  background: var(--green);
  color: white
}

.hero-card {
  position: relative;
  min-height: 360px;
  border-radius: var(--radius);
  padding: 34px;
  background: linear-gradient(145deg, rgba(7, 27, 16, .78), rgba(18, 61, 40, .63));
  border: 1px solid rgba(216, 173, 75, .38);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
  overflow: hidden
}

.feature {
  position: absolute;
  inset: 34px 34px 68px;
  opacity: 0;
  transform: translateX(18px);
  transition: .55s
}

.feature.active {
  opacity: 1;
  transform: translateX(0)
}

.feature span,
.section-head span,
.summit-copy span,
.summit-panel span,
.school-text span,
.associate-copy span {
  color: var(--gold2);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase
}

.feature h2 {
  color: #fff;
  font-size: 28px;
  line-height: 32px;
  margin: 18px 0;
  font-weight: 700;
  letter-spacing: -.04em
}

.feature p {
  font-size: 14px;
  line-height: 18px;
  margin: 0 0 18px
}

.feature a {
  color: var(--gold2);
  font-weight: 800
}

.feature-progress {
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 32px;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .13);
  overflow: hidden
}

.feature-progress i {
  display: block;
  height: 100%;
  width: 0;
  background: var(--gold2);
  border-radius: 999px
}

.numbers {
  background: linear-gradient(135deg, #f4d87c, #d8ad4b 55%, #b9872d);
  padding: 48px 0
}

.number-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid rgba(71, 50, 10, .2);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255, 248, 236, .16);
  box-shadow: 0 20px 60px rgba(94, 58, 0, .16)
}

.number-grid div {
  padding: 34px 28px;
  border-right: 1px solid rgba(47, 32, 3, .28)
}

.number-grid div:last-child {
  border: 0
}

.number-grid strong {
  display: block;
  font-size: 48px;
  line-height: 1;
  color: #112016;
  letter-spacing: -.08em
}

.number-grid strong:after {
  content: '+';
  font-size: .45em
}

.number-grid span {
  display: block;
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(17, 32, 22, .78)
}

.section {
  padding: 50px 0
}

.ecosystem {
  background: linear-gradient(120deg, #fffaf1, #dff5ed)
}

.center {
  text-align: center
}

.section-head {
  max-width: 820px;
  margin-bottom: 48px
}

.section-head.center {
  margin-inline: auto
}

.section-head h2 {
  margin: 7px 0 18px;
  font-size: clamp(20px, 5.2vw, 35px);
  line-height: 1;
  font-weight: 600;
  /*text-transform: uppercase;*/
  letter-spacing: -.065em
}

.section-head p {
  color: var(--muted);
  line-height: 1.5
}

.carousel-shell {
  position: relative
}

.eco-carousel {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 8px 2px 28px
}

.eco-carousel::-webkit-scrollbar {
  display: none
}

.eco-card {
  flex: 0 0 calc(25% - 17px);
  min-width: 270px;
  scroll-snap-align: start;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(8, 36, 20, .1);
  transition: .35s;
  border: 1px solid rgba(8, 36, 20, .06)
}

.eco-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 32px 70px rgba(8, 36, 20, .18)
}

.eco-card:hover img {
  filter: blur(1.4px) brightness(.82);
  transform: scale(1.07)
}

.eco-card img {
  height: 190px;
  width: 100%;
  object-fit: cover;
  transition: .45s
}

.eco-card i {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: var(--green);
  color: var(--gold2);
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 25px;
  border: 3px solid var(--gold);
  margin: -31px auto 17px;
  position: relative
}

.eco-card h3 {
  text-align: center;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: -.04em;
  margin: 0 18px
}

.eco-card p {
  text-align: center;
  color: #333;
  line-height: 1.65;
  font-size: 13px;
  padding: 0 18px;
  min-height: 78px
}

.eco-card a {
  display: block;
  text-align: center;
  padding: 0 0 23px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--green)
}

.car-arrow {
  position: absolute;
  top: 42%;
  z-index: 5;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(216, 173, 75, .5);
  background: rgba(6, 26, 16, .92);
  color: var(--gold2);
  font-size: 28px;
  cursor: pointer
}

.prev {
  left: -20px
}

.next {
  right: -20px
}

.summit {
  position: relative;
  min-height: 700px;
  padding: 110px 0;
  display: flex;
  align-items: center;
  background: var(--green);
  overflow: hidden
}

.summit-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 26, 16, .98), rgba(6, 26, 16, .78) 46%, rgba(6, 26, 16, .52)), radial-gradient(circle at 70% 40%, rgba(216, 173, 75, .18), transparent 36%), url('https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=2400&q=90') center/cover
}

.summit-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: center
}

.summit h2 {
  font-size: clamp(30px, 5vw, 45px);
  line-height: 1.02;
  margin: 0;
  color: #fff;
  font-weight: 600;
  letter-spacing: -.055em;
  margin: 12px 0 24px;
}

.summit p {
  color: rgba(255, 255, 255, .78);
  font-size: 17px;
  line-height: 23px;
  max-width: 650px
}

.summit-panel {
  border-radius: var(--radius);
  padding: 36px;
  background: linear-gradient(145deg, rgba(6, 26, 16, .88), rgba(18, 61, 40, .76));
  border: 1px solid rgba(216, 173, 75, .38);
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
  color: white
}

.summit-panel h3 {
  font-size: 25px;
  line-height: 29px;
  margin: 16px 0
}

.summit-panel li {
  margin: 12px 0;
  color: rgba(255, 255, 255, .74)
}

.school {
  background: white
}

.school-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: center
}

.school-text {
  padding: 54px;
  border-radius: var(--radius);
  background: linear-gradient(145deg, #fffaf1, #f0e4d0);
  border: 1px solid rgba(8, 36, 20, .08)
}

.school h2 {
  font-size: clamp(38px, 4.5vw, 45px);
  line-height: 1.02;
  letter-spacing: -.06em;
  margin: 14px 0 22px
}

.school p {
  color: var(--muted);
  line-height: 1.4
}

.chips {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 28px
}

.chips b {
  background: white;
  border-radius: 13px;
  padding: 15px;
  border: 1px solid rgba(8, 36, 20, .08);
  font-size: 13px
}

.school-photo {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow)
}

.school-photo img {
  height: 520px;
  width: 100%;
  object-fit: cover
}

.content {
  background: var(--cream)
}

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

.post {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(8, 36, 20, .09);
  transition: .35s
}

.post:hover {
  transform: translateY(-9px);
  box-shadow: 0 32px 70px rgba(8, 36, 20, .16)
}

.post:hover img {
  transform: scale(1.05)
}

.post img {
  height: 178px;
  width: 100%;
  object-fit: cover;
  transition: .45s
}

.post span {
  display: inline-flex;
  margin: 18px 18px 10px;
  background: rgba(216, 173, 75, .18);
  color: #a16e18;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase
}

.post h3 {
  font-size: 17px;
  line-height: 1.42;
  margin: 0;
  padding: 0 18px 20px
}

.post a {
  display: block;
  padding: 0 18px 24px;
  color: var(--green);
  font-weight: 800;
  font-size: 13px
}

.associate {
  position: relative;
  min-height: 610px;
  padding: 125px 0;
  display: flex;
  align-items: center;
  background: var(--green);
  overflow: hidden
}

.associate-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 26, 16, .94), rgba(6, 26, 16, .74) 48%, rgba(6, 26, 16, .26)), url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=2400&q=90') center/cover;
  transform: scale(1.03)
}

.associate-copy {
  position: relative;
  z-index: 1;
  text-align: center;
  color: white;
  max-width: 880px;
  margin-inline: auto
}

.associate h2 {
  font-size: clamp(30px, 5vw, 45px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.055em;
  margin: 9px 0 24px
}

.associate p {
  color: rgba(255, 255, 255, .78);
  font-size: 17px;
  line-height: 21px;
  max-width: 740px;
  margin: 0 auto 32px
}

.footer {
  background: var(--green);
  color: white;
  padding: 70px 0 22px
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr .7fr 1fr 1fr;
  gap: 48px
}

.footer p,
.footer a {
  display: block;
  color: rgba(255, 255, 255, .66);
  line-height: 1.75;
  margin: 8px 0
}

.footer h4 {
  color: var(--gold2);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .12em
}

.footer form {
  display: flex;
  border: 1px solid rgba(216, 173, 75, .42);
  border-radius: 10px;
  overflow: hidden
}

.footer input {
  flex: 1;
  border: 0;
  background: rgba(255, 255, 255, .06);
  color: white;
  padding: 14px;
  outline: 0
}

.footer button {
  width: 50px;
  border: 0;
  background: var(--gold);
  font-size: 22px
}

.foot-bottom {
  border-top: 1px solid rgba(255, 255, 255, .1);
  margin-top: 44px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, .55)
}

.top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: var(--green);
  font-weight: 900;
  font-size: 22px;
  box-shadow: 0 18px 35px rgba(0, 0, 0, .18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: .25s;
  z-index: 70
}

.top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0)
}

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 120;
  opacity: 0;
  visibility: hidden;
  transition: .35s
}

.mobile-menu.open {
  opacity: 1;
  visibility: visible
}

.mobile-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(6, 26, 16, .9), rgba(6, 26, 16, .96)), url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1400&q=80') center/cover
}

.mobile-panel {
  position: relative;
  margin: 22px;
  padding: 26px;
  border-radius: 26px;
  background: rgba(6, 26, 16, .72);
  border: 1px solid rgba(216, 173, 75, .34);
  backdrop-filter: blur(20px);
  min-height: calc(100vh - 44px);
  display: flex;
  flex-direction: column;
  gap: 4px;
  transform: translateY(20px) scale(.98);
  transition: .35s
}

.mobile-menu.open .mobile-panel {
  transform: translateY(0) scale(1)
}

.mobile-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--gold2);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 22px
}

.mobile-top button {
  background: none;
  border: 0;
  color: white;
  font-size: 38px
}

.mobile-panel a {
  color: white;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  opacity: 0;
  transform: translateX(-16px)
}

.mobile-menu.open .mobile-panel a {
  animation: mob .45s forwards
}

.mobile-menu.open .mobile-panel a:nth-child(3) {
  animation-delay: .06s
}

.mobile-menu.open .mobile-panel a:nth-child(4) {
  animation-delay: .12s
}

.mobile-menu.open .mobile-panel a:nth-child(5) {
  animation-delay: .18s
}

.mobile-menu.open .mobile-panel a:nth-child(6) {
  animation-delay: .24s
}

.mobile-menu.open .mobile-panel a:nth-child(7) {
  animation-delay: .30s
}

.mobile-cta {
  margin-top: 20px !important;
  text-align: center;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: var(--green) !important;
  border-radius: 14px;
  padding: 20px !important
}

@keyframes mob {
  to {
    opacity: 1;
    transform: translateX(0)
  }
}

.anim-up,
.anim-rise,
.anim-left,
.anim-right,
.anim-fade,
.anim-scale,
.anim-clip {
  opacity: 0;
  transition: opacity .85s ease, transform .85s ease, clip-path 1s ease
}

.anim-up {
  transform: translateY(36px)
}

.anim-rise {
  transform: translateY(48px)
}

.anim-left {
  transform: translateX(-48px)
}

.anim-right {
  transform: translateX(48px)
}

.anim-scale {
  transform: scale(.96)
}

.anim-clip {
  clip-path: inset(0 100% 0 0)
}

.show {
  opacity: 1;
  transform: none;
  clip-path: inset(0 0 0 0)
}

.delay-1 {
  transition-delay: .12s
}

.delay-2 {
  transition-delay: .24s
}

.delay-3 {
  transition-delay: .36s
}

@media(max-width:1050px) {
  .desktop-menu {
    display: none
  }

  .hamb {
    display: flex
  }

  .logo-text {
    display: none
  }

  .hero-inner,
  .summit-inner,
  .school-grid {
    grid-template-columns: 1fr
  }

  .hero-card {
    max-width: 600px
  }

  .number-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .eco-card {
    flex-basis: calc(50% - 12px)
  }

  .post-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr
  }
}

@media(max-width:680px) {
  .container {
    width: min(100% - 30px, var(--container))
  }

  .hero {
    min-height: auto;
    padding: 135px 0 67px
  }

  .seal {
    width: 58px;
    height: 58px
  }

  .hero h1 {
    font-size: 36px
  }

  .hero p {
    font-size: 15px
  }

  .hero-card {
    min-height: 378px;
    padding: 26px
  }

  .feature {
    inset: 26px 26px 58px
  }

  .feature h2 {
    font-size: 25px
  }

  .number-grid {
    grid-template-columns: 1fr;
    border-radius: 0
  }

  .numbers {
    padding: 0
  }

  .number-grid div {
    border-right: 0;
    border-bottom: 1px solid rgba(47, 32, 3, .26);
    padding: 28px
  }

  .section {
    padding: 48px 0
  }

  .section-head h2 {
    font-size: 38px
  }

  .eco-card {
    flex-basis: 86%
  }

  .car-arrow {
    display: none
  }

  .summit {
    padding: 80px 0;
    min-height: auto
  }

  .chips,
  .post-grid,
  .footer-grid {
    grid-template-columns: 1fr
  }

  .school-text {
    padding: 30px
  }

  .school-photo img {
    height: 380px
  }

  .associate {
    min-height: auto;
    padding: 90px 0
  }

  .footer-logo .logo-text {
    display: flex
  }

  .foot-bottom {
    flex-direction: column
  }

  .mobile-panel a {
    font-size: 19px
  }
}


/* === Ajustes V4 solicitados === */
.numbers {
  background: linear-gradient(135deg, #f5df91 0%, #d8ad4b 52%, #b9872d 100%) !important;
  padding: 58px 0 !important;
}

.number-grid {
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 0 !important;
}

.number-grid div {
  position: relative;
  padding: 18px 30px 18px 28px !important;
  border-right: 1px solid rgba(47, 32, 3, .36) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 132px;
}

.number-grid div:before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 5px;
  border-radius: 999px;
  background: rgba(17, 32, 22, .62);
}

.number-grid div:last-child {
  border-right: 0 !important;
}

.number-grid strong {
  font-size: clamp(62px, 6vw, 86px) !important;
  font-weight: 800 !important;
  color: #092215 !important;
  letter-spacing: -.08em !important;
}

.number-grid span {
  margin-top: 5px !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  color: rgba(9, 34, 21, .72) !important;
  letter-spacing: .055em !important;
}

.carousel-shell {
  padding-top: 74px !important;
  margin-top: -24px;
}

.car-arrow {
  top: 8px !important;
  z-index: 20 !important;
  width: 50px !important;
  height: 50px !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .15);
}

.car-arrow.prev {
  left: auto !important;
  right: 68px !important;
}

.car-arrow.next {
  right: 8px !important;
}

.eco-carousel {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}

.eco-carousel:active {
  cursor: grabbing;
}

.school {
  position: relative !important;
  overflow: hidden !important;
  background: #f8f2e6 !important;
  min-height: 680px;
  display: flex;
  align-items: center;
}

.school-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 250, 241, .96) 0%, rgba(255, 250, 241, .88) 38%, rgba(255, 250, 241, .68) 67%, rgba(255, 250, 241, .42) 100%),
    radial-gradient(circle at 18% 28%, rgba(216, 173, 75, .22), transparent 30%),
    url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=2200&q=90') center/cover;
  transform: scale(1.02);
}

.school-grid {
  position: relative;
  z-index: 2;
  display: block !important;
}

.school-text {
  width: min(720px, 100%);
  background: rgba(255, 250, 241, .78) !important;
  backdrop-filter: blur(18px);
  box-shadow: 0 28px 80px rgba(8, 36, 20, .10);
}

.school-photo {
  display: none !important;
}

@media(max-width:1050px) {
  .number-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .number-grid div:nth-child(2n) {
    border-right: 0 !important;
  }

  .number-grid div:nth-child(5) {
    grid-column: 1 / -1;
    max-width: 50%;
  }
}

@media(max-width:680px) {
  .numbers {
    padding: 44px 0 !important;
  }

  .number-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .number-grid div {
    border-right: 1px solid rgba(47, 32, 3, .32) !important;
    border-bottom: 1px solid rgba(47, 32, 3, .24) !important;
    padding: 18px 14px 18px 18px !important;
    min-height: 118px;
  }

  .number-grid div:nth-child(2n) {
    border-right: 0 !important;
  }

  .number-grid div:nth-child(5) {
    grid-column: 1 / -1;
    max-width: 50%;
    border-bottom: 0 !important;
  }

  .number-grid strong {
    font-size: 50px !important;
  }

  .number-grid span {
    font-size: 9px !important;
  }

  .carousel-shell {
    padding-top: 68px !important;
    margin-top: -18px;
  }

  .car-arrow {
    display: grid !important;
    top: 4px !important;
    width: 46px !important;
    height: 46px !important;
  }

  .car-arrow.prev {
    right: 62px !important;
    left: auto !important;
  }

  .car-arrow.next {
    right: 8px !important;
  }

  .eco-carousel {
    overflow-x: auto !important;
  }

  .eco-card {
    flex: 0 0 84% !important;
  }

  .school {
    min-height: 640px;
    padding: 82px 0 !important;
  }

  .school-bg {
    background:
      linear-gradient(180deg, rgba(255, 250, 241, .96), rgba(255, 250, 241, .82)),
      url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1600&q=90') center/cover;
  }
}


/* =========================================================
   V9 — Home ALAGRO: V4 original + carrossel Sacramento
   Ajustes: seção clara/clean, sem tons violeta, setas laterais
   ========================================================= */
.ecosystem {
  background:
    radial-gradient(circle at 18% 0%, rgba(6, 58, 32, .055), transparent 34%),
    radial-gradient(circle at 90% 18%, rgba(216, 173, 75, .11), transparent 30%),
    linear-gradient(180deg, #fffaf1 0%, #f7f1e5 52%, #edece7 100%) !important;
  overflow: hidden;
}

.ecosystem .section-head span {
  color: #b9872d !important;
}

.ecosystem .section-head h2 {
  color: var(--green) !important;
}

.carousel-shell {
  position: relative !important;
  padding: 8px 64px 0 !important;
  margin-top: 0 !important;
  overflow: visible !important;
}

.eco-carousel {
  padding: 8px 2px 38px !important;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}

.eco-carousel:active {
  cursor: grabbing;
}

.car-arrow {
  position: absolute !important;
  top: 45% !important;
  transform: translateY(-50%) !important;
  z-index: 30 !important;
  width: 54px !important;
  height: 54px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--green) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 40px !important;
  line-height: 1 !important;
  box-shadow: 0 18px 38px rgba(8, 36, 20, .16) !important;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}

.car-arrow:hover {
  background: linear-gradient(135deg, var(--gold2), var(--gold)) !important;
  color: var(--green) !important;
  transform: translateY(-50%) scale(1.05) !important;
  box-shadow: 0 22px 46px rgba(8, 36, 20, .22) !important;
}

.car-arrow.prev {
  left: 0 !important;
  right: auto !important;
}

.car-arrow.next {
  right: 0 !important;
  left: auto !important;
}

.eco-card {
  border-radius: 24px !important;
}

.eco-card a {
  cursor: pointer;
}

@media(max-width:1050px) {
  .carousel-shell {
    padding: 8px 58px 0 !important;
  }

  .car-arrow {
    display: grid !important;
    top: 46% !important;
  }

  .eco-card {
    flex-basis: calc(50% - 12px) !important;
  }
}

@media(max-width:680px) {
  .carousel-shell {
    padding: 0 40px !important;
  }

  .car-arrow {
    display: grid !important;
    width: 46px !important;
    height: 46px !important;
    font-size: 32px !important;
    top: 45% !important;
  }

  .car-arrow.prev {
    left: -2px !important;
    right: auto !important;
  }

  .car-arrow.next {
    right: -2px !important;
    left: auto !important;
  }

  .eco-carousel {
    overflow-x: auto !important;
    padding-bottom: 30px !important;
  }

  .eco-card {
    flex: 0 0 88% !important;
    min-width: 88% !important;
  }
}

/* =========================================================
   V11 — Revisão premium + Footer institucional completo
   ========================================================= */

.header-logo-img {
  width: 100px;
  height: auto;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, .24));
  transition: .3s ease
}

.header.scrolled .header-logo-img {
  width: 82px
}

.btn,
.menu-cta,
.mobile-cta,
.post,
.eco-card,
.summit-panel,
.school-text,
.hero-card {
  will-change: transform
}

.footer-premium {
  position: relative;
  overflow: hidden;
  padding: 92px 0 26px !important;
  background: radial-gradient(circle at 12% 10%, rgba(216, 173, 75, .16), transparent 28%), radial-gradient(circle at 86% 18%, rgba(41, 116, 70, .18), transparent 32%), linear-gradient(145deg, #031007 0%, #061a10 42%, #082314 100%) !important;
  border-top: 1px solid rgba(216, 173, 75, .22)
}

.footer-premium:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px), linear-gradient(180deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .22;
  pointer-events: none
}

.footer-orbit {
  position: absolute;
  right: -160px;
  bottom: -190px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(216, 173, 75, .16);
  border-radius: 50%;
  opacity: .45
}

.footer-orbit:before,
.footer-orbit:after {
  content: "";
  position: absolute;
  border: 1px solid rgba(216, 173, 75, .11);
  border-radius: 50%
}

.footer-orbit:before {
  inset: 90px
}

.footer-orbit:after {
  inset: 185px
}

.footer-premium-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr 1.22fr 1.32fr 1.05fr;
  gap: 42px;
  align-items: start
}

.footer-logo-img img {
  width: 132px;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, .34));
  margin-bottom: 22px
}

.footer-brand-block p,
.footer-tv p,
.footer-newsletter p,
.address-card p {
  color: rgba(255, 255, 255, .72) !important;
  line-height: 1.62 !important;
  font-size: 12px
}

.footer-copy {
  margin-top: 30px;
  color: #fff
}

.footer-copy strong {
  color: var(--gold2);
  display: block;
  font-size: 18px;
  margin-bottom: 5px
}

.footer-copy span {
  color: rgba(255, 255, 255, .68)
}

.footer-premium h4 {
  color: var(--gold2) !important;
  font-size: 13px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  margin: 0 0 28px !important;
  position: relative
}

.footer-premium h4:after {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold2), transparent);
  margin-top: 12px
}

.address-card {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  transition: .28s ease
}

.address-card:hover {
  transform: translateX(6px);
  border-bottom-color: rgba(216, 173, 75, .36)
}

.address-card:hover .flag-img {
  transform: scale(1.06);
  box-shadow: 0 12px 26px rgba(216, 173, 75, .14)
}

.flag-img {
  width: 40px;
  height: 25px;
  object-fit: cover;
  border-radius: 5px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
  transition: .28s ease
}

.address-card strong {
  color: #fff;
  display: block;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1.25;
  margin-bottom: 8px
}

.address-card p {
  margin: 0 !important
}

.footer-socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
  margin: 26px 0 8px
}

.footer-socials a {
  width: 42px;
  height: 42px;
  margin: 0 !important;
  padding: 0;
  flex: 0 0 42px;
  border-radius: 12px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  transition: .25s ease
}

.footer-socials a:hover {
  transform: translateY(-4px);
  background: rgba(216, 173, 75, .16);
  border-color: rgba(216, 173, 75, .38)
}

.footer-socials img {
  display: block;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  object-fit: contain
}

.footer-tv {
  padding: 30px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  margin-bottom: 10px;
  align-items: center;
}

.footer-tv img {
  width: 160px;
  margin-bottom: 5px
}

.footer-mini-link {
  color: var(--gold2) !important;
  font-weight: 800;
  font-size: 13px;
  margin-top: 8px !important
}

.footer-newsletter {
  margin-top: 20px
}

.footer-newsletter label {
  display: block;
  color: #fff;
  font-weight: 600;
  margin-bottom: 10px;
  font-size: 14px
}

.newsletter-row {
  display: flex;
  gap: 10px;
  align-items: stretch
}

.footer-newsletter input {
  min-width: 0;
  flex: 1;
  border: 1px solid rgba(216, 173, 75, .55) !important;
  background: rgba(255, 255, 255, .035) !important;
  color: #fff !important;
  padding: 15px 16px !important;
  border-radius: 12px !important;
  outline: none
}

.footer-newsletter input:focus {
  border-color: var(--gold2) !important;
  box-shadow: 0 0 0 4px rgba(216, 173, 75, .12)
}

.footer-newsletter button {
  width: auto !important;
  border: 0 !important;
  padding: 0 20px;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--gold2), var(--gold)) !important;
  color: var(--green) !important;
  font-weight: 900;
  font-size: 14px !important;
  cursor: pointer
}

.footer-info-links {
  margin-top: 30px
}

.footer-info-links a {
  color: rgba(255, 255, 255, .78) !important;
  font-size: 14px
}

.footer-info-links a:hover {
  color: var(--gold2) !important
}

.footer-bottom-premium {
  position: relative;
  z-index: 2;
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .10);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255, 255, 255, .55)
}

.footer-bottom-premium small:last-child {
  color: rgba(255, 255, 255, .72)
}

@media(max-width:1100px) {
  .footer-premium-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px
  }
}

@media(max-width:680px) {
  .header-logo-img {
    width: 82px
  }

  .footer-premium {
    padding: 70px 0 90px !important
  }

  .footer-premium-grid {
    grid-template-columns: 1fr;
    gap: 38px
  }

  .footer-logo-img img {
    width: 116px
  }

  .address-card {
    grid-template-columns: 46px 1fr;
    gap: 14px
  }

  .flag-img {
    width: 46px;
    height: 32px
  }

  .newsletter-row {
    flex-direction: column
  }

  .footer-newsletter button {
    min-height: 50px
  }

  .footer-bottom-premium {
    flex-direction: column
  }
}


/* =========================================================
   ALAGRO DESIGN SYSTEM — PÁGINAS INTERNAS
   ========================================================= */
.internal-hero {
  position: relative;
  min-height: 54vh;
  display: flex;
  align-items: center;
  padding: 128px 0 76px;
  background: var(--green);
  overflow: hidden
}

.internal-hero-bg {
  position: absolute;
  inset: 0;
  background: url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=2400&q=90') center/cover;
  animation: internalMove 15s ease-in-out infinite alternate
}

.internal-shade {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 75% 20%, rgba(216, 173, 75, .18), transparent 28%), linear-gradient(90deg, rgba(6, 26, 16, .98), rgba(6, 26, 16, .73) 54%, rgba(6, 26, 16, .24))
}

@keyframes internalMove {
  to {
    transform: scale(1.08) translateX(-16px)
  }
}

.internal-hero-content {
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 930px
}

.internal-hero-content>small,
.institutional-copy small,
.institutional-title small,
.contact-copy>span {
  display: block;
  color: var(--gold2);
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em;
  margin-bottom: 15px
}

.internal-hero-content h1,
.institutional-copy h2,
.institutional-title h2,
.contact-copy h2 {
  font-size: clamp(20px, 5vw, 50px);
  font-weight: 600;
  line-height: 1.05;
  margin: 0;
  letter-spacing: -.055em
}

.internal-hero-content p {
  max-width: 760px;
  color: rgba(255, 255, 255, .8);
  line-height: 21px;
  font-size: 17px
}

.hero-scroll {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  color: rgba(255, 255, 255, .8);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .14em
}

.hero-scroll span {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(216, 173, 75, .5);
  position: relative;
  background: rgba(255, 255, 255, .05)
}

.hero-scroll span:after {
  content: '↓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--gold2);
  animation: arrowDown 1.5s ease-in-out infinite
}

.hero-scroll em {
  font-style: normal
}

@keyframes arrowDown {
  50% {
    transform: translateY(4px)
  }
}

.institutional-story {
  background: linear-gradient(180deg, #fff8eb, #f4ecd9)
}

.institutional-grid-2,
.institutional-founders-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center
}

.institutional-story-img {
  position: relative
}

.institutional-story-img>img {
  height: 610px;
  width: 100%;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: var(--shadow)
}

.institutional-story-img>div {
  position: absolute;
  left: 30px;
  bottom: 30px;
  padding: 24px;
  border-radius: 18px;
  background: rgba(6, 27, 16, .86);
  color: #fff;
  backdrop-filter: blur(15px)
}

.institutional-story-img b {
  display: block;
  font-size: 34px
}

.institutional-story-img span {
  font-size: 12px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .7)
}

.institutional-copy p,
.institutional-title p,
.institutional-dna-card p,
.institutional-timeline p {
  color: #333;
  line-height: 1.8
}

.institutional-title.center {
  text-align: center;
  max-width: 850px;
  margin: 0 auto 42px
}

.institutional-timeline-section,
.institutional-presence,
.institutional-supporters {
  padding: 100px 0
}

.institutional-timeline,
.institutional-dna-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px
}

.institutional-timeline article,
.institutional-dna-card {
  background: #fff;
  border-radius: 22px;
  padding: 26px;
  box-shadow: 0 14px 35px rgba(8, 36, 20, .06);
  transition: .35s
}

.institutional-timeline article:hover,
.institutional-dna-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(8, 36, 20, .14);
  backdrop-filter: blur(12px)
}

.institutional-timeline span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--green);
  color: var(--gold2);
  align-items: center;
  justify-content: center;
  font-weight: 800;
  margin-bottom: 18px
}

.institutional-dna {
  background: linear-gradient(180deg, #fff8eb, #f4ecd9)
}

.institutional-dna-icon {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  margin-bottom: 18px
}

.institutional-dna-icon img {
  max-width: 58px;
  max-height: 58px
}

.institutional-founders {
  position: relative;
  padding: 110px 0;
  background: var(--green);
  overflow: hidden
}

.institutional-founders-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 27, 16, .98), rgba(6, 27, 16, .78)), url('https://images.unsplash.com/photo-1574943320219-553eb213f72d?auto=format&fit=crop&w=2200&q=90') center/cover
}

.institutional-founders-grid {
  position: relative
}

.institutional-founders-copy h2 {
  color: #fff;
  font-size: clamp(30px, 5vw, 54px);
  font-weight: 600;
  line-height: 1.05
}

.institutional-founders-copy p {
  color: rgba(255, 255, 255, .78);
  line-height: 1.8
}

.institutional-founder-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px
}

.institutional-founder-cards article {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  text-align: center;
  box-shadow: var(--shadow);
  transition: .35s
}

.institutional-founder-cards article:hover {
  transform: translateY(-8px)
}

.institutional-founder-cards img {
  height: 320px;
  width: 100%;
  object-fit: cover;
  object-position: top
}

.institutional-founder-cards p {
  color: #8a6a22;
  font-weight: 700
}

.institutional-leadership {
  background: #fff
}

.institutional-tabs {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 36px;
  flex-wrap: wrap
}

.institutional-tab {
  border: 1px solid rgba(6, 27, 16, .16);
  background: #fff;
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer
}

.institutional-tab.active {
  background: var(--green);
  color: #fff
}

.institutional-people-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px
}

.institutional-person {
  background: var(--cream);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 15px 36px rgba(8, 36, 20, .08);
  transition: .35s
}

.institutional-person:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(8, 36, 20, .15)
}

.institutional-person.hide {
  display: none
}

.institutional-person img {
  height: 285px;
  width: 100%;
  object-fit: cover;
  object-position: top;
  transition: .45s
}

.institutional-person:hover img {
  transform: scale(1.04);
  filter: brightness(.9)
}

.institutional-person h3 {
  font-size: 17px;
  margin: 20px 20px 8px
}

.institutional-person p {
  color: #8a6a22;
  font-weight: 700;
  margin: 0 20px 24px;
  font-size: 13px
}

.institutional-presence {
  background: linear-gradient(135deg, #fff8eb, #efe7d2)
}

.institutional-locations {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px
}

.institutional-locations article {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  border-left: 5px solid var(--gold);
  box-shadow: 0 14px 35px rgba(8, 36, 20, .07)
}

.institutional-logo-strip {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 36px;
  flex-wrap: wrap
}

.institutional-logo-strip img {
  max-width: 150px;
  max-height: 70px;
  filter: grayscale(1);
  opacity: .68;
  transition: .3s
}

.institutional-logo-strip img:hover {
  filter: none;
  opacity: 1;
  transform: translateY(-4px)
}

.institutional-cta {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  text-align: center;
  background: var(--green);
  padding: 110px 0;
  overflow: hidden
}

.institutional-cta-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 27, 16, .95), rgba(6, 27, 16, .72), rgba(6, 27, 16, .32)), url('https://images.unsplash.com/photo-1625246333195-78d9c38ad449?auto=format&fit=crop&w=2200&q=90') center/cover
}

.institutional-cta-copy {
  position: relative;
  color: #fff
}

.institutional-cta-copy h2 {
  font-size: clamp(34px, 5vw, 64px)
}

.content-hero .internal-hero-bg {
  background-image: url('https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=2400&q=90')
}

.content-hub {
  background: linear-gradient(180deg, #fff8eb, #f4ecd9)
}

.content-feature-grid {
  display: grid;
  grid-template-columns: 1.55fr .9fr;
  gap: 24px
}

.content-main-feature,
.content-small-feature {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(8, 36, 20, .1)
}

.content-main-feature>img {
  width: 100%;
  height: 470px;
  object-fit: cover
}

.content-main-feature>div {
  padding: 30px
}

.content-main-feature span,
.content-small-feature span,
.content-list-item span {
  color: #a16e18;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase
}

.content-main-feature h3 {
  font-size: 30px;
  line-height: 1.2;
  margin: 12px 0
}

.content-main-feature p {
  color: var(--muted);
  line-height: 1.7
}

.content-side-features {
  display: grid;
  gap: 18px
}

.content-small-feature {
  display: grid;
  grid-template-columns: 155px 1fr;
  align-items: center;
  transition: .3s
}

.content-small-feature:hover {
  transform: translateX(6px)
}

.content-small-feature img {
  width: 155px;
  height: 150px;
  object-fit: cover
}

.content-small-feature div {
  padding: 18px
}

.content-small-feature h3 {
  font-size: 16px;
  line-height: 1.35
}

.content-list {
  margin-top: 70px
}

.content-list>h3 {
  font-size: 26px
}

.content-list-item {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 28px;
  padding: 24px 0;
  border-top: 1px solid rgba(6, 26, 16, .12)
}

.content-list-item img {
  width: 250px;
  height: 165px;
  object-fit: cover;
  border-radius: 16px
}

.content-list-item h4 {
  font-size: 22px;
  margin: 8px 0
}

.content-list-item p {
  color: var(--muted);
  line-height: 1.6
}

.contact-hero .internal-hero-bg {
  background-image: url('https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=2400&q=90')
}

.contact-section {
  background: linear-gradient(180deg, #fff8eb, #f4ecd9)
}

.contact-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 64px;
  align-items: start
}

.contact-copy p {
  color: var(--muted);
  line-height: 1.8
}

.contact-info {
  margin-top: 34px;
  display: grid;
  gap: 14px
}

.contact-info article {
  padding: 18px 0;
  border-bottom: 1px solid rgba(6, 26, 16, .12)
}

.contact-info b {
  display: block;
  color: #a16e18;
  text-transform: uppercase;
  font-size: 11px;
  margin-bottom: 8px
}

.contact-form {
  background: #fff;
  padding: 36px;
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(8, 36, 20, .1)
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.contact-form label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 16px
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  margin-top: 8px;
  padding: 15px;
  border: 1px solid rgba(6, 26, 16, .15);
  border-radius: 11px;
  font: inherit;
  background: #fffaf1
}

.contact-form textarea {
  resize: vertical
}

.placeholder-section {
  min-height: 420px;
  background: linear-gradient(180deg, #fff8eb, #f4ecd9)
}

@media(max-width:1050px) {

  .institutional-grid-2,
  .institutional-founders-grid,
  .content-feature-grid,
  .contact-grid {
    grid-template-columns: 1fr
  }

  .institutional-timeline,
  .institutional-dna-grid,
  .institutional-people-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:680px) {
  .internal-hero {
    min-height: auto;
    padding: 120px 0 70px
  }

  .institutional-story-img>img {
    height: 420px
  }

  .institutional-timeline,
  .institutional-dna-grid,
  .institutional-founder-cards,
  .institutional-people-grid,
  .institutional-locations,
  .form-row {
    grid-template-columns: 1fr
  }

  .content-main-feature>img {
    height: 300px
  }

  .content-small-feature,
  .content-list-item {
    grid-template-columns: 1fr
  }

  .content-small-feature img,
  .content-list-item img {
    width: 100%;
    height: 210px
  }
}

/* =========================================================
   MAPA REAL DAS AMÉRICAS — PRESENÇA ALAGRO
   ========================================================= */
.institutional-presence {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(216, 173, 75, .13), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(18, 84, 47, .08), transparent 32%),
    linear-gradient(180deg, #fffaf1 0%, #f4ede0 100%);
}

.presence-split {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
  gap: 58px;
  align-items: center;
}

.presence-copy small {
  display: block;
  margin-bottom: 14px;
  color: #b9872d;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em;
}

.presence-copy h2 {
  margin: 0;
  font-size: clamp(30px, 4.8vw, 52px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.055em;
}

.presence-copy p {
  color: var(--muted);
  line-height: 1.8;
  font-size: 16px;
}

.presence-hint {
  display: inline-flex;
  margin-top: 12px;
  padding: 11px 14px;
  border-radius: 999px;
  background: rgba(216, 173, 75, .13);
  color: #7b5a18 !important;
  font-size: 11px !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.real-map-card {
  position: relative;
  min-height: 650px;
  border-radius: 30px;
  overflow: hidden;
  background: #fbf7ee;
  border: 1px solid rgba(6, 27, 16, .08);
  box-shadow: 0 28px 80px rgba(8, 36, 20, .12);
}

.real-map-image {
  width: 100%;
  height: 100%;
  min-height: 650px;
  object-fit: cover;
}

.map-pin {
  position: absolute;
  z-index: 8;
  transform: translate(-50%, -50%);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: var(--green);
}

.map-pin span {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  border: 4px solid #fff;
  box-shadow: 0 0 0 6px rgba(216, 173, 75, .18), 0 10px 22px rgba(6, 27, 16, .22);
  transition: .25s ease;
}

.map-pin span:after {
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(216, 173, 75, .55);
  border-radius: 50%;
  animation: mapPulse 2.2s ease-out infinite;
}

.map-pin em {
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 7px 10px;
  border-radius: 9px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 24px rgba(6, 27, 16, .12);
  color: var(--green);
  font-style: normal;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .82;
  transition: .25s ease;
}

.map-pin:hover span,
.map-pin.active span {
  transform: scale(1.22);
  background: var(--green);
}

.map-pin:hover em,
.map-pin.active em {
  background: var(--green);
  color: #fff;
  opacity: 1;
}

/* posições calibradas no SVG real das Américas */

.map-popup {
  position: absolute;
  z-index: 20;
  width: min(300px, calc(100% - 34px));
  padding: 22px 22px 20px;
  border-radius: 20px;
  background: rgba(6, 27, 16, .94);
  border: 1px solid rgba(216, 173, 75, .38);
  box-shadow: 0 24px 60px rgba(6, 27, 16, .28);
  backdrop-filter: blur(16px);
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.97);
  transition: .3s ease;
  pointer-events: none;
}

.map-popup.active {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.map-popup span {
  display: block;
  color: var(--gold2);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.map-popup h3 {
  margin: 10px 0 12px;
  font-size: 22px;
  line-height: 1.15;
}

.map-popup p {
  margin: 0;
  color: rgba(255, 255, 255, .74);
  font-size: 13px;
  line-height: 1.65;
}

.map-popup-close {
  position: absolute;
  right: 12px;
  top: 10px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}

/* Popups próximos aos seus pins */

@keyframes mapPulse {
  0% {
    transform: scale(.65);
    opacity: .8
  }

  100% {
    transform: scale(1.8);
    opacity: 0
  }
}

@media(max-width:1000px) {
  .presence-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .presence-copy {
    max-width: 780px;
  }

  .real-map-card,
  .real-map-image {
    min-height: 590px;
  }
}

@media(max-width:680px) {
  .institutional-presence {
    padding: 76px 0;
  }

  .presence-split {
    gap: 26px;
  }

  .presence-copy h2 {
    font-size: 33px;
  }

  .presence-hint {
    border-radius: 14px;
    line-height: 1.45;
  }

  .real-map-card {
    min-height: 500px;
    border-radius: 22px;
  }

  .real-map-image {
    min-height: 500px;
    width: 118%;
    max-width: none;
    transform: translateX(-8%);
    object-fit: cover;
  }

  .map-pin span {
    width: 16px;
    height: 16px;
  }

  .map-pin em {
    top: 21px;
    font-size: 8px;
    padding: 5px 7px;
  }

  .map-popup {
    position: fixed;
    left: 16px !important;
    right: 16px;
    bottom: 18px;
    top: auto !important;
    width: auto;
    max-width: none;
    z-index: 150;
  }
}

/* =========================================================
   INSTITUCIONAL V4 — expansão institucional + vídeos + mapa global
   ========================================================= */
.page-institucional .institutional-hero-v2 {
  min-height: 680px
}

.institutional-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  gap: 64px;
  align-items: center
}

.institutional-hero-video,
.founders-video-card {
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: #061a10;
  border: 1px solid rgba(216, 173, 75, .34);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .3)
}

.institutional-hero-video video,
.founders-video-card video {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  background: #061a10
}

.video-caption {
  padding: 18px 22px;
  background: linear-gradient(135deg, rgba(6, 26, 16, .98), rgba(18, 61, 40, .95));
  color: #fff
}

.video-caption span {
  display: block;
  color: var(--gold2);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 5px
}

.video-caption strong {
  font-size: 14px
}

.seeds-intro {
  max-width: 900px;
  margin: 24px auto 0 !important;
  font-size: 15px
}

.seeds-intro strong {
  color: var(--green)
}

.founders-premium-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
  gap: 64px;
  align-items: center
}

.institutional-founders-copy small {
  display: block;
  color: var(--gold2);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em
}

.institutional-founders-copy h2 {
  font-size: clamp(34px, 4vw, 50px) !important;
  margin: 14px 0 22px
}

.institutional-founders-copy>p {
  font-size: 15px;
  line-height: 1.75
}

.founder-mini-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 28px
}

.founder-mini-cards article {
  display: grid;
  grid-template-columns: 76px 1fr;
  align-items: center;
  gap: 14px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .1)
}

.founder-mini-cards img {
  width: 76px;
  height: 76px;
  object-fit: cover;
  object-position: top;
  border-radius: 12px
}

.founder-mini-cards h3 {
  color: #fff;
  font-size: 13px;
  margin: 0 0 4px
}

.founder-mini-cards p {
  color: var(--gold2) !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
  margin: 0
}

.global-presence {
  padding: 110px 0 120px
}

.presence-copy-center {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 46px
}

.presence-copy-center p {
  max-width: 800px;
  margin: 18px auto
}

.presence-copy-center .presence-hint {
  margin-top: 8px
}

.world-map-card {
  width: 100%;
  min-height: auto;
  aspect-ratio: 2.02/1;
  border-radius: 30px
}

.world-map-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  padding: 28px;
  filter: sepia(.18) saturate(.65) hue-rotate(78deg) brightness(.92);
  opacity: .88
}

/* Robinson map pin calibration */
.world-map-card .pin-miami {
  left: 28.2%;
  top: 43.5%
}

.world-map-card .pin-cuiaba {
  left: 35.7%;
  top: 68%
}

.world-map-card .pin-bh {
  left: 38.2%;
  top: 70.5%
}

.world-map-card .pin-sp-1 {
  left: 38.3%;
  top: 73.5%
}

.world-map-card .pin-sp-2 {
  left: 39.8%;
  top: 72.2%
}

.world-map-card .pin-montevideo {
  left: 37.3%;
  top: 82.5%
}

.world-map-card .pin-marrocos {
  left: 48.8%;
  top: 41.5%
}

.world-map-card .pin-angola {
  left: 52.8%;
  top: 19%
}

.world-map-card .map-popup[data-popup="miami"] {
  left: 29%;
  top: 20%
}

.world-map-card .map-popup[data-popup="cuiaba"] {
  left: 16%;
  top: 45%
}

.world-map-card .map-popup[data-popup="bh"] {
  left: 18%;
  top: 47%
}

.world-map-card .map-popup[data-popup="sp1"] {
  left: 20%;
  top: 50%
}

.world-map-card .map-popup[data-popup="sp2"] {
  left: 21%;
  top: 52%
}

.world-map-card .map-popup[data-popup="montevideo"] {
  left: 20%;
  top: 57%
}

.world-map-card .map-popup[data-popup="marrocos"] {
  left: 51%;
  top: 16%
}

.world-map-card .map-popup[data-popup="angola"] {
  left: 55%;
  top: 33%
}

.institutional-supporters {
  background: #fff;
  padding: 100px 0 110px
}

.supporters-premium-box {
  position: relative;
  padding: 42px;
  border-radius: 30px;
  background: linear-gradient(145deg, #fff, #f8f5ef);
  border: 1px solid rgba(6, 27, 16, .1);
  box-shadow: 0 24px 70px rgba(8, 36, 20, .09);
  overflow: hidden
}

.supporters-premium-box:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #c98600, var(--gold2), transparent)
}

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

.supporters-grid img {
  width: 100%;
  height: 116px;
  object-fit: contain;
  padding: 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(6, 27, 16, .09);
  filter: grayscale(1) saturate(0);
  opacity: .62;
  transition: .35s ease
}

.supporters-grid img:hover {
  filter: none;
  opacity: 1;
  transform: translateY(-5px);
  border-color: rgba(216, 173, 75, .55);
  box-shadow: 0 16px 34px rgba(8, 36, 20, .1)
}

.institutional-associate {
  min-height: 610px
}

.institutional-associate .associate-bg {
  background: linear-gradient(90deg, rgba(6, 26, 16, .94), rgba(6, 26, 16, .74) 48%, rgba(6, 26, 16, .26)), url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=2400&q=90') center/cover
}

@media(max-width:1050px) {

  .institutional-hero-grid,
  .founders-premium-grid {
    grid-template-columns: 1fr
  }

  .institutional-hero-video,
  .founders-video-card {
    max-width: 760px
  }

  .supporters-grid {
    grid-template-columns: repeat(4, 1fr)
  }

  .world-map-card {
    aspect-ratio: 1.7/1
  }
}

@media(max-width:680px) {
  .page-institucional .institutional-hero-v2 {
    padding: 120px 0 64px
  }

  .institutional-hero-grid {
    gap: 34px
  }

  .institutional-hero-content h1 {
    font-size: 34px
  }

  .institutional-hero-video,
  .founders-video-card {
    border-radius: 20px
  }

  .founders-premium-grid {
    gap: 34px
  }

  .founder-mini-cards {
    grid-template-columns: 1fr
  }

  .global-presence {
    padding: 76px 0
  }

  .presence-copy-center {
    margin-bottom: 30px
  }

  .world-map-card {
    aspect-ratio: auto;
    min-height: 520px;
    border-radius: 22px;
    overflow: hidden
  }

  .world-map-image {
    width: 170%;
    max-width: none;
    height: 100%;
    left: -35%;
    padding: 18px;
    object-fit: contain
  }

  .world-map-card .map-pin em {
    display: none
  }

  .world-map-card .pin-miami {
    left: 13%;
    top: 43%
  }

  .world-map-card .pin-cuiaba {
    left: 27%;
    top: 66%
  }

  .world-map-card .pin-bh {
    left: 32%;
    top: 69%
  }

  .world-map-card .pin-sp-1 {
    left: 32%;
    top: 73%
  }

  .world-map-card .pin-sp-2 {
    left: 37%;
    top: 71%
  }

  .world-map-card .pin-montevideo {
    left: 30%;
    top: 81%
  }

  .world-map-card .pin-marrocos {
    left: 53%;
    top: 41%
  }

  .world-map-card .pin-angola {
    left: 61%;
    top: 58%
  }

  .supporters-premium-box {
    padding: 20px;
    border-radius: 22px
  }

  .supporters-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px
  }

  .supporters-grid img {
    height: 100px;
    padding: 12px
  }

  .institutional-associate {
    padding: 90px 0;
    min-height: auto
  }

  .institutional-associate h2 {
    font-size: 34px
  }
}


/* =========================================================
   INSTITUCIONAL V5 — palha + carrossel diretoria + mapa refinado
   Tudo escopado em .page-institucional para não afetar outras páginas
   ========================================================= */

/* Paleta institucional em tons de palha, areia e creme */
.page-institucional .institutional-story {
  background: linear-gradient(180deg, #fbf6e9 0%, #efe3c9 100%);
}

.page-institucional .institutional-timeline-section {
  background: linear-gradient(180deg, #f6eddb 0%, #fbf7ee 100%);
}

.page-institucional .institutional-dna {
  background: linear-gradient(135deg, #ead9b6 0%, #f4ead4 52%, #fbf7ee 100%);
}

.page-institucional .institutional-leadership {
  background: linear-gradient(180deg, #fffdf8 0%, #f3ead9 100%);
}

.page-institucional .global-presence {
  background: linear-gradient(180deg, #efe3ca 0%, #f8f3e8 100%);
}

.page-institucional .institutional-supporters {
  background: linear-gradient(180deg, #fbf8f0 0%, #eee3cf 100%);
}

/* Diretoria em carrossel */
.page-institucional .institutional-people-shell {
  position: relative;
  padding: 4px 66px 18px;
}

.page-institucional .institutional-people-grid {
  display: flex !important;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 10px 3px 34px;
}

.page-institucional .institutional-people-grid::-webkit-scrollbar {
  display: none
}

.page-institucional .institutional-person {
  flex: 0 0 calc((100% - 66px)/4);
  min-width: 0;
  scroll-snap-align: start;
}

.page-institucional .institutional-person.hide {
  display: none !important
}

.page-institucional .people-arrow {
  position: absolute;
  top: 47%;
  transform: translateY(-50%);
  z-index: 8;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(6, 27, 16, .10);
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #fffdf8;
  color: var(--green);
  font-size: 36px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(8, 36, 20, .12);
  transition: .25s ease;
}

.page-institucional .people-arrow:hover {
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  transform: translateY(-50%) scale(1.05);
}

.page-institucional .people-prev {
  left: 0
}

.page-institucional .people-next {
  right: 0
}

.page-institucional .people-arrow:disabled {
  opacity: .22;
  cursor: default;
  transform: translateY(-50%);
}

.page-institucional .people-arrow:disabled:hover {
  background: #fffdf8
}

/* Mapa: box monocromático e mais clean */
.page-institucional .world-map-card {
  background: #f4f4f1 !important;
  border: 1px solid rgba(6, 27, 16, .09) !important;
  box-shadow: 0 28px 72px rgba(8, 36, 20, .10) !important;
}

.page-institucional .world-map-image {
  background: #f4f4f1;
  filter: grayscale(.12) saturate(.38) brightness(.98) !important;
  opacity: .92 !important;
}

/* Pins recalibrados e distribuídos no Brasil */

/* Labels brasileiros com offsets diferentes para evitar colisão */
.page-institucional .world-map-card .pin-cuiaba em {
  left: auto;
  right: 26px;
  top: -6px;
  transform: none
}

.page-institucional .world-map-card .pin-bh em {
  left: 27px;
  top: -18px;
  transform: none
}

.page-institucional .world-map-card .pin-sp-1 em {
  left: auto;
  right: 26px;
  top: 19px;
  transform: none
}

.page-institucional .world-map-card .pin-sp-2 em {
  left: 27px;
  top: 25px;
  transform: none
}

.page-institucional .world-map-card .pin-montevideo em {
  left: 50%;
  top: 25px
}

/* Popups aproximados dos novos pontos */

@media(max-width:1050px) {
  .page-institucional .institutional-people-shell {
    padding-inline: 58px
  }

  .page-institucional .institutional-person {
    flex-basis: calc((100% - 22px)/2)
  }
}

@media(max-width:680px) {
  .page-institucional .institutional-people-shell {
    padding: 0 48px 8px
  }

  .page-institucional .institutional-person {
    flex: 0 0 100%
  }

  .page-institucional .people-arrow {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-size: 30px
  }

  .page-institucional .people-prev {
    left: 0
  }

  .page-institucional .people-next {
    right: 0
  }

  /* No mobile, o mapa continua ampliado; pins do Brasil ficam espaçados e os labels permanecem ocultos */

}

/* =========================================================
   V6 — PRESENÇA GLOBAL FULL-BLEED / MAPA LOCAL TRANSPARENTE
   Escopo exclusivo da página Institucional
   ========================================================= */
.page-institucional .global-presence {
  background: #fff !important;
  padding: 110px 0 0 !important;
}

.page-institucional .global-presence .presence-copy-center {
  padding-inline: 20px;
  margin-bottom: 42px;
}

.page-institucional .world-map-shell {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: visible;
  background: #fff;
}

.page-institucional .world-map-card {
  position: relative;
  width: 100%;
  min-height: 0 !important;
  aspect-ratio: 2 / 1;
  margin: 0;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.page-institucional .world-map-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  max-width: none;
  object-fit: contain;
  padding: 0 !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
  background: transparent !important;
}

/* Coordenadas recalibradas na mesma projeção Robinson do SVG local. */

/* Labels brasileiros abertos para fora do território, sem cruzar os pins. */
.page-institucional .world-map-card .pin-cuiaba em {
  left: auto;
  right: 27px;
  top: -7px;
  transform: none;
}

.page-institucional .world-map-card .pin-bh em {
  left: 28px;
  top: -12px;
  transform: none;
}

.page-institucional .world-map-card .pin-sp-1 em {
  left: auto;
  right: 27px;
  top: 20px;
  transform: none;
}

.page-institucional .world-map-card .pin-sp-2 em {
  left: 28px;
  top: 23px;
  transform: none;
}

.page-institucional .world-map-card .pin-montevideo em {
  left: 50%;
  top: 25px;
}

/* Popups reposicionados em áreas livres próximas aos respectivos países. */

@media(max-width:680px) {
  .page-institucional .global-presence {
    padding: 76px 0 0 !important;
  }

  .page-institucional .world-map-shell {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .page-institucional .world-map-shell::-webkit-scrollbar {
    display: none
  }

  /* No celular o mapa mantém escala suficiente para os pins; navegação é por swipe. */
  .page-institucional .world-map-card {
    width: 780px;
    min-width: 780px;
    aspect-ratio: 2 / 1;
  }

  .page-institucional .world-map-image {
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    transform: none !important;
  }

  .page-institucional .world-map-card .map-pin em {
    display: none;
  }

}

/* =========================================================
   V7 — AJUSTE FINO DO MAPA GLOBAL
   - Pins geográficos recalibrados na projeção Robinson do SVG
   - Popup mobile acima das seções seguintes
   Escopo exclusivo da página Institucional
   ========================================================= */
.page-institucional .global-presence {
  position: relative;
  z-index: 20;
  overflow: visible !important;
}

.page-institucional .world-map-shell {
  position: relative;
  z-index: 21;
}

.page-institucional .world-map-card {
  position: relative;
  z-index: 22;
  overflow: visible !important;
}

/* Coordenadas reais normalizadas no mesmo SVG Robinson 1600x800. */

/* Labels brasileiros distribuídos ao redor dos pontos sem tirá-los do território. */
.page-institucional .world-map-card .pin-cuiaba em {
  left: auto;
  right: 27px;
  top: -6px;
  transform: none;
}

.page-institucional .world-map-card .pin-bh em {
  left: 28px;
  top: -14px;
  transform: none;
}

.page-institucional .world-map-card .pin-sp-1 em {
  left: auto;
  right: 27px;
  top: 18px;
  transform: none;
}

.page-institucional .world-map-card .pin-sp-2 em {
  left: 28px;
  top: 19px;
  transform: none;
}

.page-institucional .world-map-card .pin-montevideo em {
  left: 50%;
  top: 25px;
}

/* Popups desktop aproximados das novas posições. */

/* A seção seguinte nunca deve cobrir os popups do mapa. */
.page-institucional .institutional-supporters {
  position: relative;
  z-index: 1;
}

@media(max-width:680px) {
  .page-institucional .global-presence {
    z-index: 300;
    overflow: visible !important;
  }

  .page-institucional .world-map-shell {
    z-index: 301;
    overflow-x: auto;
    overflow-y: visible !important;
  }

  .page-institucional .world-map-card {
    z-index: 302;
    overflow: visible !important;
  }

  /* Mesmas coordenadas do desktop: o card mobile mantém proporção 2:1 do SVG. */

  /* Popup funciona como painel flutuante sobre a viewport, sem ser coberto pela próxima seção. */
  .page-institucional .world-map-card .map-popup {
    position: fixed !important;
    left: 14px !important;
    right: 14px !important;
    top: auto !important;
    bottom: 18px !important;
    width: auto !important;
    max-width: none !important;
    z-index: 99999 !important;
    margin: 0 !important;
    transform: translateY(14px) scale(.98) !important;
  }

  .page-institucional .world-map-card .map-popup.active {
    transform: none !important;
  }

  .page-institucional .institutional-supporters,
  .page-institucional .institutional-associate,
  .page-institucional .footer-premium {
    position: relative;
    z-index: 1;
  }
}

/* =========================================================
   V8 — Popup do mapa fora da hierarquia da seção no mobile
   Evita clipping/stacking pela seção seguinte.
   ========================================================= */
@media(max-width:680px) {
  .page-institucional .world-map-card .map-popup {
    display: none !important;
  }

  .page-institucional .mobile-map-popup {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 18px;
    z-index: 2147483000;
    padding: 24px 52px 22px 24px;
    border-radius: 22px;
    background: rgba(6, 27, 16, .98);
    border: 1px solid rgba(216, 173, 75, .42);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .38);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px) scale(.98);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    pointer-events: none;
  }

  .page-institucional .mobile-map-popup.active {
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
  }

  .page-institucional .mobile-map-popup span {
    display: block;
    color: var(--gold2);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 9px;
  }

  .page-institucional .mobile-map-popup h3 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.12;
  }

  .page-institucional .mobile-map-popup p {
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    line-height: 1.6;
  }

  .page-institucional .mobile-map-popup-close {
    position: absolute;
    right: 14px;
    top: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .09);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
  }
}

/* ASSOCIADOS ALAGRO — exclusivo */
.page-associados {
  background: #fff;
  color: #10281d
}

.page-associados .assoc-kicker {
  display: inline-block;
  color: #a66d00;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 18px
}

.page-associados .assoc-hero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0b281c
}

.page-associados .assoc-hero-bg {
  position: absolute;
  inset: 0;
  background: url('img/associados-colheita.jpg') center 58%/cover no-repeat;
  transform: scale(1.02)
}

.page-associados .assoc-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 25, 16, .94), rgba(5, 25, 16, .82) 42%, rgba(5, 25, 16, .28) 75%, rgba(5, 25, 16, .08))
}

.page-associados .assoc-hero-grid {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 90px
}

.page-associados .assoc-hero-copy {
  max-width: 780px;
  color: #fff
}

.page-associados .assoc-hero-copy .assoc-kicker {
  color: #f0c454
}

.page-associados .assoc-hero h1 {
  font-size: clamp(60px, 5vw, 50px);
  line-height: 1.02;
  letter-spacing: -.045em;
  margin: 0 0 26px;
  font-weight: 800
}

.page-associados .assoc-hero p {
  max-width: 690px;
  font-size: 20px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .82);
  margin: 0 0 34px
}

.page-associados .assoc-hero-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap
}

.page-associados .assoc-text-link {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em
}

.page-associados .assoc-text-link b {
  color: #efc04f;
  font-size: 19px;
  margin-left: 7px
}

.page-associados .assoc-scroll {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 34px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 50%;
  transform: translateX(-50%);
  display: grid;
  place-items: center
}

.page-associados .assoc-scroll span {
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  animation: assocBounce 1.7s infinite
}

@keyframes assocBounce {
  50% {
    transform: rotate(45deg) translate(4px, 4px)
  }
}

.page-associados .assoc-intro {
  padding: 120px 0;
  background: #fbf7ed
}

.page-associados .assoc-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 82px;
  align-items: center
}

.page-associados .assoc-intro-image {
  position: relative
}

.page-associados .assoc-intro-image:before {
  content: "";
  position: absolute;
  left: -22px;
  bottom: -22px;
  width: 45%;
  height: 46%;
  background: #e8bd54;
  border-radius: 28px;
  opacity: .35
}

.page-associados .assoc-intro-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 570px;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 28px 70px rgba(31, 44, 35, .14)
}

.page-associados .assoc-intro-copy h2 {
  font-size: clamp(20px, 4vw, 50px);
  line-height: 1.08;
  letter-spacing: -.04em;
  font-weight: 600;
  margin: 0 0 28px
}

.page-associados .assoc-intro-copy p {
  font-size: 17px;
  line-height: 1.85;
  color: #000;
  margin: 0 0 18px
}

.page-associados .assoc-signature {
  margin-top: 34px;
  padding-left: 22px;
  border-left: 3px solid #d9a72e;
  display: flex;
  flex-direction: column;
  gap: 5px
}

.page-associados .assoc-signature span {
  color: #7d877f;
  font-size: 14px
}

.page-associados .assoc-benefits {
  padding: 120px 0;
  background: #fff
}

.page-associados .assoc-benefits-head {
  max-width: 820px;
  margin: 0 auto 55px
}

.page-associados .assoc-benefits-head h2 {
  font-size: clamp(38px, 4vw, 58px)
}

.page-associados .assoc-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px
}

.page-associados .assoc-benefit-card {
  position: relative;
  min-height: 330px;
  padding: 38px 34px;
  border: 1px solid #e8e4da;
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #fbfaf6);
  overflow: hidden;
  transition: .35s
}

.page-associados .assoc-benefit-card:hover {
  transform: translateY(-8px);
  border-color: #d9b45b;
  box-shadow: 0 24px 55px rgba(20, 44, 31, .11)
}

.page-associados .assoc-benefit-card i {
  position: absolute;
  right: 24px;
  top: 22px;
  font-style: normal;
  font-size: 48px;
  font-weight: 800;
  color: rgba(17, 55, 37, .055)
}

.page-associados .assoc-benefit-icon {
  width: 56px;
  height: 56px;
  border-radius: 17px;
  background: #123b29;
  color: #efc253;
  display: grid;
  place-items: center;
  font-size: 25px;
  margin-bottom: 28px
}

.page-associados .assoc-benefit-card h3 {
  font-size: 21px;
  margin: 0 0 15px
}

.page-associados .assoc-benefit-card p {
  color: #69756d;
  line-height: 1.75;
  font-size: 15px;
  margin: 0
}

.page-associados .assoc-quote {
  position: relative;
  min-height: 590px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0c2b1d
}

.page-associados .assoc-quote-bg {
  position: absolute;
  inset: -8%;
  background: url('img/associados-humanizada.jpg') center 42%/cover no-repeat fixed
}

.page-associados .assoc-quote:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 28, 18, .92), rgba(5, 28, 18, .72) 55%, rgba(5, 28, 18, .28))
}

.page-associados .assoc-quote-content {
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 900px
}

.page-associados .assoc-quote-content .assoc-kicker {
  color: #efc253
}

.page-associados .assoc-quote blockquote {
  font-size: clamp(20px, 4.5vw, 50px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.04em;
  margin: 0 0 25px
}

.page-associados .assoc-quote p {
  max-width: 700px;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .82)
}

.page-associados .assoc-final-cta {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  text-align: center;
  overflow: hidden
}

.page-associados .assoc-final-bg {
  position: absolute;
  inset: -7%;
  background: url('img/associados-colheita.jpg') center 62%/cover no-repeat fixed
}

.page-associados .assoc-final-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(7, 32, 20, .75), rgba(7, 32, 20, .86))
}

.page-associados .assoc-final-content {
  position: relative;
  z-index: 2;
  max-width: 950px;
  color: #fff
}

.page-associados .assoc-final-content .assoc-kicker {
  color: #efc253
}

.page-associados .assoc-final-content h2 {
  font-size: clamp(42px, 5vw, 70px);
  line-height: 1.06;
  letter-spacing: -.045em;
  margin: 0 0 24px
}

.page-associados .assoc-final-content p {
  max-width: 750px;
  margin: 0 auto 34px;
  font-size: 19px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .84)
}

.page-associados .assoc-final-button {
  min-width: 230px
}

@media(max-width:980px) {
  .page-associados .assoc-intro-grid {
    grid-template-columns: 1fr;
    gap: 50px
  }

  .page-associados .assoc-benefits-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .page-associados .assoc-quote-bg,
  .page-associados .assoc-final-bg {
    background-attachment: scroll
  }
}

@media(max-width:680px) {
  .page-associados .assoc-hero {
    min-height: 720px;
    align-items: flex-end;
    padding: 0 0 92px
  }

  .page-associados .assoc-hero-bg {
    background-position: 62% center
  }

  .page-associados .assoc-hero-shade {
    background: linear-gradient(0deg, rgba(5, 25, 16, .96), rgba(5, 25, 16, .62) 65%, rgba(5, 25, 16, .28))
  }

  .page-associados .assoc-hero-grid {
    padding-top: 130px
  }

  .page-associados .assoc-hero h1 {
    font-size: 40px
  }

  .page-associados .assoc-hero p {
    font-size: 16px
  }

  .page-associados .assoc-hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px
  }

  .page-associados .assoc-intro,
  .page-associados .assoc-benefits {
    padding: 78px 0
  }

  .page-associados .assoc-intro-image img {
    height: 420px;
    border-radius: 22px
  }

  .page-associados .assoc-intro-copy h2,
  .page-associados .assoc-benefits-head h2 {
    font-size: 36px
  }

  .page-associados .assoc-benefits-grid {
    grid-template-columns: 1fr
  }

  .page-associados .assoc-benefit-card {
    min-height: auto;
    padding: 30px 26px
  }

  .page-associados .assoc-quote {
    min-height: 600px
  }

  .page-associados .assoc-quote-bg {
    background-position: 62% center
  }

  .page-associados .assoc-quote blockquote {
    font-size: 38px
  }

  .page-associados .assoc-final-cta {
    min-height: 620px;
    padding: 80px 0
  }

  .page-associados .assoc-final-content h2 {
    font-size: 40px
  }

  .page-associados .assoc-final-content p {
    font-size: 16px
  }
}

/* =========================================================
   ECOSSISTEMA — Ajustes globais de CTAs + Associados V2
   ========================================================= */

/* CTAs globais: borda definida + inversão premium no hover */
.btn,
.menu-cta,
.mobile-cta {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(221, 173, 54, .95) !important;
  transition: color .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

.btn:before,
.menu-cta:before,
.mobile-cta:before {
  content: "";
  position: absolute;
  inset: 0;
  background: #123b29;
  transform: translateY(102%);
  transition: transform .3s cubic-bezier(.22, .61, .36, 1);
  z-index: -1;
}

.btn:hover,
.menu-cta:hover,
.mobile-cta:hover {
  color: #f5c957 !important;
  border-color: #f5c957 !important;
  box-shadow: 0 14px 34px rgba(9, 45, 29, .18);
  transform: translateY(-2px);
}

.btn:hover:before,
.menu-cta:hover:before,
.mobile-cta:hover:before {
  transform: translateY(0)
}

.btn-gold,
.btn.gold {
  background: linear-gradient(135deg, #f2c85c, #d9a72e);
  color: #13261c;
  box-shadow: 0 14px 34px rgba(216, 167, 46, .22);
}

.btn-outline-light {
  background: rgba(255, 255, 255, .04);
  color: #fff;
  border-color: rgba(255, 255, 255, .76) !important;
  backdrop-filter: blur(7px);
}

.btn-outline-light:hover {
  color: #f5c957 !important;
  border-color: #f5c957 !important;
}

.menu-cta,
.mobile-cta {
  background: linear-gradient(135deg, #f2c85c, #d9a72e) !important;
  color: #172016 !important;
}

/* ASSOCIADOS — hero centralizada */
.page-associados .assoc-hero-grid {
  display: flex;
  justify-content: center;
  text-align: center;
}

.page-associados .assoc-hero-copy {
  max-width: 900px;
  margin: 0 auto;
}

.page-associados .assoc-hero p {
  margin: 0 auto 34px;
  max-width: 760px;
}

.page-associados .assoc-hero-actions {
  justify-content: center;
  gap: 14px;
}

/* Benefícios — cards mais clean, sem numeração */
.page-associados .assoc-benefit-card {
  min-height: 330px;
  background: #f6f6f6 !important;
  border: 1px solid #ececec;
  box-shadow: 0 8px 24px rgba(15, 48, 32, .035);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}

.page-associados .assoc-benefit-card:hover {
  transform: translateY(-10px);
  background: #fff !important;
  border-color: rgba(216, 167, 46, .65);
  box-shadow: 0 25px 58px rgba(17, 48, 32, .12);
}

.page-associados .assoc-benefit-card:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #d9a72e, #f1cc6b);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}

.page-associados .assoc-benefit-card:hover:after {
  transform: scaleX(1)
}

.page-associados .assoc-benefit-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #123b29;
  color: #efc253;
  margin-bottom: 28px;
  transition: transform .32s ease, background .32s ease, color .32s ease;
}

.page-associados .assoc-benefit-icon svg {
  width: 37px;
  height: 37px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-associados .assoc-benefit-card:hover .assoc-benefit-icon {
  transform: scale(1.08) rotate(-2deg);
  background: #e2b548;
  color: #123b29;
}

/* Parallax/CTA centralizado — passa a ser o fechamento da página */
.page-associados .assoc-quote {
  min-height: 650px;
  text-align: center;
}

.page-associados .assoc-quote:after {
  background: linear-gradient(rgba(5, 28, 18, .80), rgba(5, 28, 18, .88));
}

.page-associados .assoc-quote-content {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.page-associados .assoc-quote blockquote {
  max-width: 930px;
  margin: 0 auto 25px;
}

.page-associados .assoc-quote p {
  max-width: 720px;
  margin: 0 auto 32px;
}

.page-associados .assoc-quote-cta {
  min-width: 230px;
}

@media(max-width:680px) {
  .page-associados .assoc-hero {
    align-items: center;
    padding: 110px 0 65px
  }

  .page-associados .assoc-hero-grid {
    padding-top: 30px
  }

  .page-associados .assoc-hero-actions {
    flex-direction: column;
    align-items: center;
    width: 100%
  }

  .page-associados .assoc-hero-actions .btn {
    width: min(100%, 290px)
  }

  .page-associados .assoc-benefit-card {
    min-height: auto
  }

  .page-associados .assoc-quote {
    min-height: 610px;
    padding: 80px 0
  }

  .page-associados .assoc-quote-cta {
    width: min(100%, 290px)
  }
}

/* =========================================================
   HOME — Summit sem card lateral + conteúdo centralizado
   ========================================================= */
.page-home .summit-inner {
  position: relative;
  z-index: 1;
  display: flex !important;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.page-home .summit-copy {
  width: min(100%, 980px);
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.page-home .summit-copy span,
.page-home .summit-copy h2,
.page-home .summit-copy p {
  text-align: center;
}

.page-home .summit-copy h2 {
  font-size: clamp(48px, 5.2vw, 55px);
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.page-home .summit-copy p {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.page-home .summit-copy .btn {
  margin-left: auto;
  margin-right: auto;
}

@media(max-width:680px) {
  .page-home .summit-inner {
    text-align: center;
  }

  .page-home .summit-copy {
    width: 100%;
  }
}

/* =========================================================
   AJUSTE FINAL — MAPA INSTITUCIONAL + CARDS CONTEÚDO HOME
   ========================================================= */

/* =========================================================
   MAPA INSTITUCIONAL — COORDENADAS DEFINITIVAS
   EDITE SOMENTE ESTE BLOCO PARA MOVER OS PINS
   left = horizontal | top = vertical
   ========================================================= */

/* DESKTOP / TABLET */
.page-institucional .world-map-card .pin-miami {
  left: 28.36%;
  top: 34.03%
}

.page-institucional .world-map-card .pin-cuiaba {
  left: 34.59%;
  top: 59.67%
}

.page-institucional .world-map-card .pin-bh {
  left: 38.01%;
  top: 62.35%
}

.page-institucional .world-map-card .pin-sp-1 {
  left: 37.10%;
  top: 64.55%
}

.page-institucional .world-map-card .pin-sp-2 {
  left: 38.25%;
  top: 63.75%
}

.page-institucional .world-map-card .pin-montevideo {
  left: 35.29%;
  top: 71.64%
}

.page-institucional .world-map-card .pin-marrocos {
  left: 48.00%;
  top: 37.18%
}

.page-institucional .world-map-card .pin-angola {
  left: 53.66%;
  top: 63.48%
}

/* Popups no desktop */
.page-institucional .world-map-card .map-popup[data-popup="miami"] {
  left: 29%;
  top: 12%
}

.page-institucional .world-map-card .map-popup[data-popup="cuiaba"] {
  left: 15%;
  top: 39%
}

.page-institucional .world-map-card .map-popup[data-popup="bh"] {
  left: 40%;
  top: 38%
}

.page-institucional .world-map-card .map-popup[data-popup="sp1"] {
  left: 16%;
  top: 46%
}

.page-institucional .world-map-card .map-popup[data-popup="sp2"] {
  left: 41%;
  top: 46%
}

.page-institucional .world-map-card .map-popup[data-popup="montevideo"] {
  left: 18%;
  top: 52%
}

.page-institucional .world-map-card .map-popup[data-popup="marrocos"] {
  left: 50%;
  top: 16%
}

.page-institucional .world-map-card .map-popup[data-popup="angola"] {
  left: 56%;
  top: 38%
}

/* MOBILE — o mapa mantém a mesma proporção 2:1 */
@media(max-width:680px) {
  .page-institucional .world-map-card .pin-miami {
    left: 28.36%;
    top: 34.03%
  }

  .page-institucional .world-map-card .pin-cuiaba {
    left: 34.59%;
    top: 59.67%
  }

  .page-institucional .world-map-card .pin-bh {
    left: 38.01%;
    top: 62.35%
  }

  .page-institucional .world-map-card .pin-sp-1 {
    left: 37.10%;
    top: 64.55%
  }

  .page-institucional .world-map-card .pin-sp-2 {
    left: 38.25%;
    top: 63.75%
  }

  .page-institucional .world-map-card .pin-montevideo {
    left: 35.29%;
    top: 71.64%
  }

  .page-institucional .world-map-card .pin-marrocos {
    left: 48.00%;
    top: 37.18%
  }

  .page-institucional .world-map-card .pin-angola {
    left: 53.66%;
    top: 63.48%
  }
}

/* Conteúdo ALAGRO — alinha "Ler publicação →" na mesma base */
.page-home .content .post-grid {
  align-items: stretch;
}

.page-home .content .post {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.page-home .content .post h3 {
  flex: 1 1 auto;
}

.page-home .content .post a {
  margin-top: auto;
}

/* === ALAGRO DINÂMICO / ASP === */
.alagro-empty {
  grid-column: 1/-1;
  padding: 42px;
  border: 1px solid rgba(20, 73, 50, .14);
  border-radius: 20px;
  background: #fff;
  text-align: center
}

.alagro-empty strong {
  display: block;
  color: #174c35;
  font-size: 1.15rem;
  margin-bottom: 8px
}

.apoio-grid,
.ecosystem-dynamic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 36px
}

.apoio-card,
.dynamic-card {
  background: #fff;
  border: 1px solid rgba(20, 73, 50, .12);
  border-radius: 22px;
  overflow: hidden;
  padding: 26px;
  box-shadow: 0 14px 40px rgba(20, 55, 39, .07)
}

.apoio-logo {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px
}

.apoio-logo img {
  max-width: 180px;
  max-height: 90px;
  object-fit: contain
}

.apoio-card h3,
.dynamic-card h3 {
  color: #174c35;
  margin: 0 0 12px
}

.apoio-card p,
.dynamic-card p {
  line-height: 1.7
}

.apoio-card a,
.dynamic-card a {
  display: inline-block;
  margin-top: 12px;
  color: #9a7627;
  font-weight: 700
}

.dynamic-card span {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #9a7627
}

.publicacao-wrap {
  max-width: 920px
}

.publicacao>span,
.apoio-detail span {
  color: #9a7627;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .08em
}

.publicacao h1 {
  font-size: 45px;
  color: #174c35;
  line-height: 48px
}

.publicacao-resenha {
  font-size: 14px;
  line-height: 17px;
  font-weight: 700;
}

.publicacao-img {
  width: 100%;
  max-height: 540px;
  object-fit: cover;
  border-radius: 24px;
  margin: 28px 0
}

.publicacao-texto {
  font-size: 18px;
  line-height: 24px;
  color: #000000
}

.publicacao-fonte {
  margin-top: 30px;
  font-size: .9rem
}

.apoio-detail-head {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 48px;
  align-items: start
}

.apoio-detail-head>img {
  width: 100%;
  max-height: 180px;
  object-fit: contain
}

.apoio-detail-head h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  color: #174c35
}

.apoio-detail-head p {
  line-height: 1.8
}

.apoio-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 48px
}

.apoio-gallery figure {
  margin: 0
}

.apoio-gallery img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 18px
}

.apoio-gallery figcaption {
  font-size: .82rem;
  margin-top: 8px;
  color: #66716b
}

@media(max-width:900px) {

  .apoio-grid,
  .ecosystem-dynamic-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .apoio-detail-head {
    grid-template-columns: 1fr
  }

  .apoio-detail-head>img {
    max-width: 220px
  }

  .apoio-gallery {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:620px) {

  .apoio-grid,
  .ecosystem-dynamic-grid,
  .apoio-gallery {
    grid-template-columns: 1fr
  }
}

/* ===== ALAGRO V3.1 — Diretoria mobile, Presidência, galeria e ações flutuantes ===== */
.page-institucional .institutional-person { position: relative; }
.page-institucional .president-card-link {
  position:absolute; right:16px; bottom:16px; width:42px; height:42px;
  display:grid; place-items:center; border-radius:50%; text-decoration:none;
  background:var(--green); color:#fff; font-size:21px; font-weight:700;
  box-shadow:0 10px 24px rgba(6,27,16,.18); transition:.25s ease;
}
.page-institucional .president-card-link:hover { background:var(--gold); color:var(--green); transform:translateY(-2px); }

@media(max-width:680px){
  .page-institucional .institutional-person img{
    height:auto !important; aspect-ratio:4/3; object-fit:contain !important;
    object-position:center top !important; background:#eee8da;
  }
  .page-institucional .institutional-person:hover img{transform:none}
}

.publicacao-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:-10px 0 34px}
.publicacao-gallery-item{border:2px solid transparent;padding:0;background:none;border-radius:14px;overflow:hidden;cursor:pointer;opacity:.76;transition:.2s ease}
.publicacao-gallery-item:hover,.publicacao-gallery-item.active{opacity:1;border-color:#c6a54c;transform:translateY(-2px)}
.publicacao-gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:680px){.publicacao-gallery{grid-template-columns:repeat(3,1fr);gap:8px}.publicacao-img{max-height:none;object-fit:contain;background:#f3eee4}}

.floating-whatsapp{position:fixed;right:28px;bottom:28px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;z-index:70;box-shadow:0 14px 32px rgba(0,0,0,.2);text-decoration:none;transition:.25s ease}
.floating-whatsapp:hover{transform:translateY(-4px) scale(1.04)}
.floating-whatsapp svg{width:29px;height:29px;fill:currentColor}
.top{right:auto !important;left:28px !important}
@media(max-width:680px){.floating-whatsapp{right:18px;bottom:18px;width:56px;height:56px}.top{left:18px !important;right:auto !important;bottom:18px !important}}

/* Página do Presidente */
.page-presidente .president-hero{padding:170px 0 90px;background:linear-gradient(135deg,#061b10,#0c3824);color:#fff;overflow:hidden;position:relative}
.page-presidente .president-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(212,174,72,.18);border-radius:50%;right:-150px;top:-180px;box-shadow:0 0 0 80px rgba(212,174,72,.035),0 0 0 160px rgba(212,174,72,.025)}
.page-presidente .president-hero-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:70px;align-items:center;position:relative;z-index:2}
.page-presidente .president-kicker{color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:13px}
.page-presidente .president-hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;margin:14px 0 18px}
.page-presidente .president-hero p{font-size:18px;line-height:1.75;color:rgba(255,255,255,.78);max-width:700px}
.page-presidente .president-photo{background:#efe7d6;border-radius:30px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.page-presidente .president-photo img{width:100%;display:block;max-height:620px;object-fit:cover;object-position:top}
.page-presidente .president-content-section{background:#fbf7ee}
.page-presidente .president-section-head{max-width:820px;margin-bottom:34px}
.page-presidente .president-section-head span{color:#9a7627;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:12px}
.page-presidente .president-section-head h2{font-size:clamp(30px,4vw,48px);color:#174c35;margin:8px 0 12px}
.page-presidente .president-profile{font-size:18px;line-height:1.85;color:#28352e;max-width:900px}
.page-presidente .president-editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.page-presidente .president-editorial-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(8,36,20,.08);text-decoration:none;color:inherit;transition:.3s ease}
.page-presidente .president-editorial-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(8,36,20,.14)}
.page-presidente .president-editorial-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.page-presidente .president-editorial-card div{padding:22px}
.page-presidente .president-editorial-card span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9a7627;font-weight:800}
.page-presidente .president-editorial-card h3{font-size:18px;line-height:1.35;color:#174c35;margin:8px 0}
.page-presidente .president-editorial-card p{font-size:14px;line-height:1.6;color:#647069}
@media(max-width:850px){.page-presidente .president-hero-grid{grid-template-columns:1fr;gap:34px}.page-presidente .president-photo{max-width:520px}.page-presidente .president-editorial-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.page-presidente .president-hero{padding:135px 0 65px}.page-presidente .president-editorial-grid{grid-template-columns:1fr}.page-presidente .president-photo img{max-height:none;object-fit:contain}.page-presidente .president-hero p{font-size:16px}}


/* ===== ALAGRO V3.2 — Diretoria mobile em cards naturais / peek do próximo ===== */
@media(max-width:680px){
  .page-institucional .institutional-people-shell{
    padding:0 0 12px 0 !important;
    overflow:visible;
  }

  .page-institucional .institutional-people-grid{
    gap:16px !important;
    padding:10px 58px 34px 60px !important;
    scroll-padding-left:60px;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory;
  }

  .page-institucional .institutional-person{
    flex:0 0 82% !important;
    width:82% !important;
    min-width:82% !important;
    scroll-snap-align:start;
    border-radius:26px;
    overflow:hidden;
  }

  .page-institucional .institutional-person img{
    display:block;
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    background:#eee8da;
  }

  .page-institucional .institutional-person h3{
    margin:18px 20px 7px;
  }

  .page-institucional .institutional-person p{
    margin:0 20px 22px;
  }

  .page-institucional .people-arrow{
    top:47%;
    width:50px;
    height:50px;
    z-index:12;
  }

  .page-institucional .people-prev{
    left:8px !important;
  }

  .page-institucional .people-next{
    right:8px !important;
  }
}

@media(max-width:420px){
  .page-institucional .institutional-people-grid{
    padding-left:46px !important;
    padding-right:46px !important;
    scroll-padding-left:46px;
  }

  .page-institucional .institutional-person{
    flex-basis:84% !important;
    width:84% !important;
    min-width:84% !important;
  }
}

/* ===== Presidência V2 — hero agro, trajetória e multimídia ===== */
html{scroll-behavior:smooth}
.page-presidente .president-hero{min-height:760px;display:flex;align-items:center;padding:170px 0 90px;background:linear-gradient(90deg,rgba(4,27,16,.96) 0%,rgba(4,27,16,.86) 44%,rgba(4,27,16,.56) 100%),url("img/2026-alagro-hero1.jpg") center/cover no-repeat}
.page-presidente .president-hero:after{display:none}
.page-presidente .president-trajectory-btn{display:inline-flex;align-items:center;gap:16px;margin-top:22px;padding:15px 22px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:800;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);transition:.25s ease}
.page-presidente .president-trajectory-btn span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--gold2);color:#0b2b1d;font-size:17px}
.page-presidente .president-trajectory-btn:hover{transform:translateY(-3px);background:rgba(255,255,255,.13)}
.page-presidente .president-profile-resume{font-size:17px;line-height:1.7;color:#657068;max-width:820px;margin-top:12px}
.page-presidente .president-editorial-card{display:flex;flex-direction:column}
.page-presidente .president-media-cover{display:block;position:relative;text-decoration:none;overflow:hidden;background:#e8e1d3}
.page-presidente .president-media-cover img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .4s ease}
.page-presidente .president-editorial-card:hover .president-media-cover img{transform:scale(1.025)}
.page-presidente .president-media-placeholder{aspect-ratio:16/10;display:grid;place-items:center;background:linear-gradient(135deg,#0a2c1d,#174c35);color:#d8b44d;font-weight:800;letter-spacing:.16em}
.page-presidente .president-video-badge{position:absolute;left:16px;bottom:16px;padding:9px 13px;border-radius:999px;background:#fff;color:#174c35!important;font-size:11px!important;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.page-presidente .president-card-body{padding:22px;display:flex;flex-direction:column;flex:1}
.page-presidente .president-card-body h3 a{color:inherit;text-decoration:none}
.page-presidente .president-card-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.page-presidente .president-card-actions a,.page-presidente .president-video-open{border:0;background:none;padding:0;color:#8c681d;font:inherit;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}
.page-presidente .president-video-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px}
.page-presidente .president-video-modal.open{display:flex}
.page-presidente .president-video-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}
.page-presidente .president-video-dialog{position:relative;z-index:2;width:min(1000px,94vw);background:#071b11;border-radius:24px;padding:14px;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.page-presidente .president-video-close{position:absolute;right:-12px;top:-12px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#173d2c;font-size:28px;cursor:pointer;z-index:3}
.page-presidente .president-video-frame{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}
.page-presidente .president-video-frame iframe{width:100%;height:100%;border:0}
.page-presidente .president-video-frame .external-video{height:100%;display:grid;place-items:center;text-align:center;padding:30px;color:#fff}
.page-presidente .president-video-frame .external-video a{color:#f0c95a;font-weight:800}
@media(max-width:850px){.page-presidente .president-hero{min-height:auto;background-position:center}}
@media(max-width:580px){.page-presidente .president-hero{padding:135px 0 68px;background-position:58% center}.page-presidente .president-video-dialog{width:96vw;padding:8px;border-radius:18px}}


/* ===== Presidência V2.1 — refinamento premium da hero ===== */
.page-presidente .president-hero-copy{
  position:relative;
  z-index:2;
}
.page-presidente .president-trajectory-btn{
  display:none !important;
}
.page-presidente .president-trajectory-link{
  display:inline-block;
  margin-top:18px;
  color:var(--gold2);
  text-decoration:none;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  transition:transform .25s ease,opacity .25s ease;
}
.page-presidente .president-trajectory-link:hover{
  transform:translateX(4px);
  opacity:.86;
}
.page-presidente .president-photo{
  position:relative;
  overflow:hidden;
}
.page-presidente .president-photo-caption{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  padding:84px 30px 27px;
  background:linear-gradient(to top,rgba(4,39,26,.96) 0%,rgba(4,39,26,.76) 42%,rgba(4,39,26,0) 100%);
  color:#fff;
  pointer-events:none;
}
.page-presidente .president-photo-caption strong{
  display:block;
  margin:0 0 5px;
  color:#fff;
  font-size:18px;
  line-height:1.25;
  font-weight:700;
}
.page-presidente .president-photo-caption span{
  display:block;
  color:var(--gold2);
  font-size:11px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media(max-width:850px){
  .page-presidente .president-hero-grid{
    display:flex;
    flex-direction:column;
  }
  .page-presidente .president-hero-copy{
    display:contents;
  }
  .page-presidente .president-kicker{
    order:1;
  }
  .page-presidente .president-hero-copy h1{
    order:2;
  }
  .page-presidente .president-photo{
    order:3;
    width:100%;
  }
  .page-presidente .president-hero-after-photo{
    order:4;
    width:100%;
  }
  .page-presidente .president-hero-after-photo p{
    margin-top:24px;
  }
  .page-presidente .president-trajectory-link{
    margin-top:8px;
  }
}

@media(max-width:580px){
  .page-presidente .president-photo-caption{
    padding:78px 20px 20px;
  }
  .page-presidente .president-photo-caption strong{
    font-size:16px;
  }
  .page-presidente .president-photo-caption span{
    font-size:10px;
  }
}

/* ===== ALAGRO TV | HTTPAGE Video Integration ===== */
.alagro-tv{background:#f7f8f4;padding:100px 0 110px;position:relative;overflow:hidden}
.alagro-tv:before{content:"";position:absolute;right:-180px;top:-230px;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(187,156,84,.13),transparent 70%);pointer-events:none}
.tv-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:34px;position:relative}
.tv-heading>div{max-width:780px}.tv-eyebrow{font-size:11px;letter-spacing:.2em;font-weight:800;color:#9c8147;display:inline-flex;align-items:center;gap:12px;margin-bottom:17px}
.tv-live-dot{width:6px;height:6px;border-radius:50%;background:#bfa064}
.tv-heading h2{font-size:clamp(29px,3.5vw,48px);line-height:1.15;letter-spacing:-.035em;color:#173c32;margin:0 0 15px;font-weight:700}
.tv-heading h2 em{font-style:normal;color:#a88745}.tv-heading p{color:#62726a;line-height:1.7;margin:0;font-size:14px}
.tv-all{flex-shrink:0;display:inline-flex;align-items:center;gap:20px;border:1px solid #d7dccc;border-radius:40px;padding:15px 21px;color:#214e40;text-decoration:none;font-size:12px;font-weight:700;transition:.25s}
.tv-all:hover{background:#214e40;color:#fff;border-color:#214e40}.tv-all span{font-size:17px}
.tv-grid{display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:repeat(3,minmax(132px,1fr));gap:15px;min-height:530px}
.tv-card{min-width:0;border:0;padding:0;background:#17372f;color:#fff;text-align:left;cursor:pointer;border-radius:15px;overflow:hidden;position:relative;display:flex;align-items:end;isolation:isolate;font:inherit}
.tv-card.tv-featured{grid-row:1/4}.tv-cover,.tv-cover:after{position:absolute;inset:0}.tv-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.tv-cover:after{content:"";background:linear-gradient(0deg,rgba(4,24,20,.91),rgba(4,24,20,.07) 75%)}
.tv-card:hover .tv-cover img{transform:scale(1.05)}.tv-card-copy{z-index:1;position:relative;padding:20px 24px;display:flex;flex-direction:column;gap:7px;max-width:100%}
.tv-card-copy small{font-size:10px;font-weight:700;letter-spacing:.12em;color:#ddc28a}.tv-card-copy strong{font-size:clamp(13px,1.3vw,18px);line-height:1.4;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tv-featured .tv-card-copy{padding:34px 38px}.tv-featured .tv-card-copy strong{font-size:clamp(23px,2.5vw,34px);line-height:1.25;-webkit-line-clamp:3}
.tv-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#184538;font-size:17px;box-shadow:0 8px 30px #0003;transition:.2s;padding-left:3px}
.tv-featured .tv-play{width:76px;height:76px;font-size:23px}.tv-card:hover .tv-play{background:#bda16b;color:#fff;transform:translate(-50%,-50%) scale(1.09)}
.tv-unavailable{background:#e9eee7;border-radius:18px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#214e40}
.tv-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}.tv-modal.open{display:flex}.tv-modal-backdrop{position:absolute;inset:0;background:rgba(5,21,17,.9);backdrop-filter:blur(8px)}
.tv-modal-panel{position:relative;z-index:1;width:min(100%,1020px)}.tv-modal-frame{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 20px 90px #0008}.tv-modal-frame iframe{width:100%;height:100%;border:0}
.tv-modal-close{position:absolute;right:0;top:-48px;border:1px solid #ffffff60;border-radius:50%;width:38px;height:38px;background:transparent;color:#fff;font-size:26px;cursor:pointer}
@media(max-width:900px){.tv-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:0}.tv-card.tv-featured{grid-column:1/-1;grid-row:auto;min-height:380px}.tv-card:not(.tv-featured){min-height:190px}.tv-heading{align-items:start;flex-direction:column}.alagro-tv{padding:72px 0}}
@media(max-width:600px){.tv-grid{display:flex;flex-direction:column}.tv-card.tv-featured{min-height:280px}.tv-card:not(.tv-featured){min-height:180px}.tv-featured .tv-card-copy{padding:24px}.tv-featured .tv-card-copy strong{font-size:22px}.tv-heading h2{font-size:30px}.tv-unavailable{flex-direction:column;align-items:flex-start}.tv-modal{padding:12px}}

.tv-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;min-height:0}.tv-gallery-grid .tv-card{min-height:250px}@media(max-width:900px){.tv-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tv-gallery-grid{display:flex;flex-direction:column}}

/* Corpo formatado das publicacoes ALAGRO */
.publicacao-texto .alagro-rich-body{font:inherit;line-height:1.75;overflow-wrap:anywhere}
.publicacao-texto .alagro-rich-body p{margin:0 0 1.15em}
.publicacao-texto .alagro-rich-body h2,.publicacao-texto .alagro-rich-body h3{color:#174c35;line-height:1.3;margin:1.5em 0 .65em;font-weight:700}
.publicacao-texto .alagro-rich-body h2{font-size:1.5em}
.publicacao-texto .alagro-rich-body h3{font-size:1.2em}
.publicacao-texto .alagro-rich-body ul,.publicacao-texto .alagro-rich-body ol{margin:0 0 1.3em;padding-left:1.7em}
.publicacao-texto .alagro-rich-body li{margin:.35em 0}
.publicacao-texto .alagro-rich-body a{color:#19734f;text-decoration:underline;text-underline-offset:3px}
.publicacao-texto .alagro-rich-body blockquote{margin:1.5em 0;padding:.3em 0 .3em 1.2em;border-left:3px solid #19734f;color:#4c5d54}
.publicacao-texto .alagro-rich-body .ql-align-center{text-align:center}
.publicacao-texto .alagro-rich-body .ql-align-right{text-align:right}
.publicacao-texto .alagro-rich-body .ql-align-justify{text-align:justify}

/* ALAGRO TV - refinamento editorial | 2026-10-15 */
@media (min-width: 901px) {
  #alagro-tv .tv-grid {
    grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr);
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 24px;
    height: 530px;
    min-height: 0;
  }
  #alagro-tv .tv-card-copy { padding: 15px 20px; gap: 5px; }
  #alagro-tv .tv-card-copy strong { font-size: clamp(12px, 1.05vw, 15px); line-height: 1.32; }
  #alagro-tv .tv-featured .tv-card-copy { padding: 30px 34px; }
  #alagro-tv .tv-featured .tv-card-copy strong { font-size: clamp(23px, 2.25vw, 32px); }
  #alagro-tv .tv-heading { margin-bottom: 44px; }
}
@media (max-width: 900px) {
  #alagro-tv .tv-grid { gap: 20px; }
}
.tv-page-hero {
  position: relative; overflow: hidden; isolation: isolate;
  background: radial-gradient(ellipse at 75% 30%, #23513b 0%, #112f26 48%, #091e18 100%);
  padding: clamp(80px, 10vw, 140px) 24px clamp(70px, 9vw, 115px);
  text-align: center; color: #fff;
}
.tv-page-hero::before {
  content:""; position:absolute; z-index:-1; width:680px; height:680px;
  border:1px solid rgba(210,176,91,.15); border-radius:50%;
  left:50%; top:50%; transform:translate(-50%,-50%);
  box-shadow:0 0 0 100px rgba(210,176,91,.035),0 0 0 200px rgba(210,176,91,.025);
}
.tv-page-hero-inner { position:relative; max-width:950px; margin:auto; }
.tv-page-kicker { display:block; color:#e4c377; font-size:11px; font-weight:800; letter-spacing:.24em; margin-bottom:28px; }
.tv-page-logo { display:block; width:min(100%,440px); height:auto; margin:0 auto 25px; }
.tv-page-hero h1 { font-size:clamp(25px,3.1vw,42px); line-height:1.22; letter-spacing:-.025em; margin:0 auto 16px; max-width:720px; color:#fff; }
.tv-page-hero p { max-width:640px; margin:0 auto 30px; font-size:clamp(14px,1.3vw,17px); line-height:1.8; color:#d6e2da; }
.tv-page-actions { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.tv-page-action { display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.35); border-radius:30px; padding:14px 23px; font-size:12px; font-weight:700; text-decoration:none; color:#fff; transition:.2s; }
.tv-page-action.primary { background:#d5af55; border-color:#d5af55; color:#122a20; }
.tv-page-action:hover { transform:translateY(-2px); border-color:#d5af55; }
.tv-page-gallery { background:#f7f8f4; padding:clamp(65px,7vw,105px) 0; }
.tv-page-gallery .tv-heading { margin-bottom:35px; }
.tv-page-gallery .tv-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:none; gap:24px; min-height:0; }
.tv-page-gallery .tv-gallery-grid .tv-card { min-height:250px; aspect-ratio: 1.45; }
@media(max-width:900px) {
 .tv-page-gallery .tv-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tv-page-hero { padding:75px 20px; }
}
@media(max-width:600px) {
 .tv-page-gallery .tv-gallery-grid { grid-template-columns:1fr; }
 .tv-page-gallery .tv-gallery-grid .tv-card { min-height:230px; }
 .tv-page-logo { max-width:300px; }
}

/* ===== ALAGRO TV | Ajuste fino V2 - home cinematografica e hero compacta ===== */
@media (min-width: 901px) {
  #alagro-tv .tv-grid {
    grid-template-columns: minmax(0, 2.8fr) minmax(0, 1fr);
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 34px;
    height: 465px;
    min-height: 0;
  }
  #alagro-tv .tv-card.tv-featured { min-height: 0; }
  #alagro-tv .tv-card:not(.tv-featured) { min-height: 0; }
  #alagro-tv .tv-card:not(.tv-featured) .tv-card-copy { padding: 12px 15px; }
  #alagro-tv .tv-card:not(.tv-featured) .tv-card-copy small { font-size: 9px; }
  #alagro-tv .tv-card:not(.tv-featured) .tv-card-copy strong {
    font-size: clamp(11px, .9vw, 13px);
    line-height: 1.3;
    -webkit-line-clamp: 2;
  }
  #alagro-tv .tv-card:not(.tv-featured) .tv-play {
    width: 42px; height: 42px; font-size: 15px;
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  #alagro-tv .tv-grid { grid-template-columns: minmax(0, 2.35fr) minmax(0, 1fr); gap: 25px; height: 440px; }
}
@media (min-width: 601px) and (max-width: 900px) {
  #alagro-tv .tv-grid { gap: 24px; }
}
@media (max-width: 600px) {
  #alagro-tv .tv-grid { gap: 22px; }
}

/* Hero ALAGRO TV: logo menor, texto ao lado, galeria visivel mais cedo */
@media (min-width: 701px) {
  .page-alagro-tv .tv-page-hero {
    padding: 42px 30px 45px;
    min-height: 0;
  }
  .page-alagro-tv .tv-page-hero-inner {
    max-width: 1120px;
    display: grid;
    grid-template-columns: 225px minmax(0, 1fr);
    grid-template-areas: "logo kicker" "logo title" "logo desc" "logo actions";
    column-gap: clamp(35px, 5vw, 76px);
    align-items: center;
    text-align: left;
  }
  .page-alagro-tv .tv-page-logo {
    grid-area: logo;
    width: 215px;
    max-width: 100%;
    margin: 0;
    align-self: center;
  }
  .page-alagro-tv .tv-page-kicker { grid-area: kicker; margin: 0 0 9px; font-size: 10px; }
  .page-alagro-tv .tv-page-hero h1 {
    grid-area: title;
    font-size: clamp(23px, 2.5vw, 34px);
    margin: 0 0 8px;
    max-width: none;
  }
  .page-alagro-tv .tv-page-hero p {
    grid-area: desc;
    font-size: 13px;
    line-height: 1.55;
    margin: 0 0 16px;
    max-width: 670px;
  }
  .page-alagro-tv .tv-page-actions { grid-area: actions; justify-content: flex-start; gap: 10px; }
  .page-alagro-tv .tv-page-action { padding: 10px 17px; font-size: 11px; }
  .page-alagro-tv .tv-page-gallery { padding-top: 50px; }
  .page-alagro-tv .tv-page-gallery .tv-heading { margin-bottom: 25px; }
}
@media (max-width: 700px) {
  .page-alagro-tv .tv-page-hero { padding: 38px 20px 42px; }
  .page-alagro-tv .tv-page-kicker { margin-bottom: 12px; font-size: 9px; }
  .page-alagro-tv .tv-page-logo { width: min(58vw, 185px); margin: 0 auto 13px; }
  .page-alagro-tv .tv-page-hero h1 { font-size: clamp(22px, 6vw, 28px); margin-bottom: 9px; }
  .page-alagro-tv .tv-page-hero p { font-size: 12px; line-height: 1.55; margin-bottom: 15px; }
  .page-alagro-tv .tv-page-action { padding: 10px 14px; font-size: 10px; }
  .page-alagro-tv .tv-page-gallery { padding-top: 40px; }
}
