/* Ajustes de composição para coincidir com o mockup aprovado. */
.hero { z-index: auto; }
.hero-photo { z-index: 0; }
.story { min-height: 400px; }
.story .container { position: relative; z-index: 3; }
.story-person { position: absolute; z-index: 2; right: 6%; bottom: -30px; width: 40%; height: 112%; opacity: .95; filter: grayscale(1) contrast(1.1) sepia(.45) hue-rotate(165deg) saturate(2.3); }
.story-person img { width: 100%; height: 100%; object-fit: contain; object-position: bottom center; }
.story-landmark { position: absolute; z-index: 1; right: 33%; bottom: 0; width: 210px; height: 260px; opacity: .6; background: url('assets/padrao-gama.jpg') left top/780px no-repeat; mix-blend-mode: screen; }
@media (max-width: 650px) {
  .hero-photo { z-index: 0; }
  .story { min-height: 430px; }
  .story-person { right: -5%; width: 58%; height: 72%; opacity: .65; }
  .story-landmark { right: 20%; width: 135px; height: 170px; background-size: 520px; }
}

#quem-e .photo { background: #fff; }
#quem-e .photo img { object-fit: cover; object-position: center 42%; transform: scaleX(-1); }

.logo img,
.footer-inner > img {
  height: auto;
  object-fit: initial;
}

.pattern { height: clamp(60px, 7.57vw, 120px); background: url('assets/tira-gama.jpg') center / 100% 100% no-repeat; }
.pattern picture { display: none; }
@supports (background-image: image-set(url('assets/tira-gama.avif') type('image/avif'))) {
  .pattern { background-image: image-set(url('assets/tira-gama.avif') type('image/avif'), url('assets/tira-gama.jpg') type('image/jpeg')); }
}
@media (max-width: 650px) {
  .pattern { background-size: auto 100%; background-repeat: repeat-x; }
}

.institute-grid {
  align-items: stretch;
}

.institute-video-wrap {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: #0f1729;
}

.institute-video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  object-position: center;
}

.video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  padding: 0;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #12b76ae8;
  box-shadow: 0 8px 24px #0f172980;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: opacity .2s ease, transform .2s ease;
}

.video-play:hover {
  transform: translate(-50%, -50%) scale(1.08);
}

.video-play span {
  width: 0;
  height: 0;
  margin-left: 5px;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 20px solid #fff;
}

.video-play.is-hidden {
  pointer-events: none;
  opacity: 0;
}

.instagram-button {
  text-decoration: none;
}

.instagram-icon {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.story-whatsapp {
  min-height: 500px;
  background: url('assets/whatsapp-jornada.jpg') center / cover no-repeat;
}

.story-whatsapp .container {
  padding-top: 28px;
  padding-bottom: 28px;
}

.story-whatsapp h2 {
  max-width: 590px;
}

.story-whatsapp .button {
  margin-top: 8px;
  text-decoration: none;
}

.story-whatsapp .tags {
  margin-top: 25px;
}

.whatsapp-button {
  background: #12b76a;
}

.whatsapp-icon {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.proposals-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 34px;
  padding: 21px 24px;
  border: 1px solid #d7dccf;
  border-radius: 12px;
  background: #fff;
}

.proposals-cta p {
  margin: 0;
  color: #0f1729;
  font-size: .95rem;
  font-weight: 800;
}

.proposals-cta .button {
  flex: 0 0 auto;
  text-decoration: none;
}

.commitments-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 350px);
  align-items: center;
  gap: 40px;
}

.commitments-logo {
  width: min(100%, 330px);
  height: auto;
  justify-self: end;
}

@media (max-width: 760px) {
  .story-whatsapp {
    min-height: 530px;
    background-position: 62% center;
  }

  .proposals-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .commitments-inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .commitments-logo {
    width: min(100%, 270px);
    justify-self: center;
  }
}

.institute-details {
  max-width: 510px;
  margin-top: 24px;
  border-top: 1px solid #d7dccf;
  border-bottom: 1px solid #d7dccf;
}

.institute-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
  color: #0f1729;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.institute-details summary::-webkit-details-marker {
  display: none;
}

.institute-details summary span {
  color: #12b76a;
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s ease;
}

.institute-details[open] summary span {
  transform: rotate(45deg);
}

.institute-details div {
  padding-bottom: 7px;
  color: #3b4759;
}

.institute-details p {
  margin: 0 0 14px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .institute-video-wrap,
  .institute-video {
    min-height: 390px;
  }
}

.footer-credit {
  width: min(1120px, calc(100% - 48px));
  margin: -17px auto 18px;
  color: #ffffff8f;
  font-size: .62rem;
  letter-spacing: .02em;
  text-align: right;
}

.footer-credit a {
  color: #ffffffc9;
  text-decoration: none;
}

.footer-credit a:hover {
  color: #fdb022;
}

.footer-credit span {
  margin: 0 5px;
}

.footer-instagram {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.footer-instagram .footer-lock {
  display: inline-flex;
  width: 14px;
  height: 14px;
  align-items: center;
  justify-content: center;
  color: inherit;
}

.footer-lock svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

@media (max-width: 760px) {
  .footer-credit {
    margin-top: -6px;
    text-align: center;
  }
}


.footer-inner nav {
  font-size: 1rem;
}
