/* Monument Extended (display face) - self-hosted.
 * Drop the woff2 file into /assets/fonts/ and this @font-face picks it up.
 * See assets/fonts/README.md for licensing notes.
 * Until the file exists the stack falls back to Montserrat (still readable). */
@font-face {
  font-family: "Monument Extended";
  src: url("fonts/MonumentExtended-Black.woff2") format("woff2");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

*,:before,:after {
  box-sizing:border-box;
  margin:0;
  padding:0
}

/* Screen-reader-only utility (visually hidden but accessible to AT). */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap;
  border: 0;
}

/* Global focus-visible ring for keyboard users (WCAG 2.1).
 * Uses 2px accent outline + offset so it stays clear of element borders.
 * Only fires on keyboard focus (not click) thanks to :focus-visible. */
:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 2px;
}
/* Pill-shaped chrome buttons get a rounded ring matching their shape. */
.sound-btn:focus-visible,
.play-btn:focus-visible,
.lang-btn:focus-visible {
  outline-offset: 4px;
  border-radius: 999px;
}
:root {
  --bg:#020303;
  --bg-cell:#070908;
  --bg-cell-hover:#0d100e;
  --text:#f0ede4;
  --text-dim:#f0ede48c;
  /* --text-mute bumped from #f0ede452 (alpha 0.32, ~2.6:1 ratio = FAILED AA)
   * to #f0ede499 (alpha 0.60, ~4.9:1 ratio = passes AA for body text).
   * Used by ~30 selectors: news dates, foot-cell labels, kicker captions, prod meta, etc. */
  --text-mute:#f0ede499;
  --accent:#c5e63a;
  --accent-glow:#c5e63a2e;
  --accent-soft:#c5e63a8c;
  --line-rgb:245,241,232;
  --line-opacity:.12;
  --line:rgba(var(--line-rgb),var(--line-opacity));
  --line-strong:rgba(var(--line-rgb),calc(var(--line-opacity)*2.2));
  --outline:#ffffffd9;
  --display:"Monument Extended","Monument Extended Black","Montserrat","Trebuchet MS",system-ui,sans-serif;
  --sans:"Montserrat","Trebuchet MS",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --hover-bg:url(fundos/fundo_floresta_03.jpg)
}
body.accent-g1 {
  --accent:#4cdd00;
  --accent-glow:#4cdd0033;
  --accent-soft:#4cdd0099
}
body.accent-g2 {
  --accent:#c9de31;
  --accent-glow:#c9de3133;
  --accent-soft:#c9de3199
}
body.accent-g3 {
  --accent:#5eb230;
  --accent-glow:#5eb23038;
  --accent-soft:#5eb23099
}
body.lines-white {
  --line-rgb:245,241,232;
  --line-opacity:.12
}
body.lines-lime {
  --line-rgb:197,230,58;
  --line-opacity:.22
}
body.lines-forest {
  --line-rgb:109,164,56;
  --line-opacity:.32
}
body.grid-hidden {
  --line-opacity:0
}
body.leaves-outline-g1 {
  --outline:#4cdd00
}
body.leaves-outline-g2 {
  --outline:#c9de31
}
body.leaves-outline-g3 {
  --outline:#5eb230
}
html,body {
  height:100%
}
body {
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01","cv11";
  overflow-x:hidden
}
a {
  color:inherit;
  text-decoration:none
}
img {
  pointer-events:none;
  user-select:none;
  max-width:100%;
  display:block
}
button {
  font:inherit;
  cursor:pointer;
  color:inherit;
  background:0 0;
  border:none
}
::selection {
  background:var(--accent);
  color:#000
}
.chrome {
  z-index:300;
  pointer-events:none;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  display:flex;
  position:fixed;
  top:0;
  left:0;
  right:0
}
.chrome>* {
  pointer-events:auto
}
.menu-trigger {
  font-family:var(--mono);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text);
  background:0 0;
  border:none;
  align-items:center;
  gap:14px;
  padding:10px 0;
  font-size:11px;
  font-weight:500;
  transition:color .3s;
  display:flex
}
.menu-trigger:hover {
  color:var(--accent)
}
.menu-trigger .lines {
  flex-direction:column;
  gap:3px;
  display:flex
}
.menu-trigger .lines span {
  background:currentColor;
  width:14px;
  height:1.5px;
  display:block
}
.sound-btn {
  font-family:var(--mono);
  letter-spacing:.22em;
  text-transform:uppercase;
  cursor:pointer;
  align-items:center;
  gap:10px;
  font-size:11px;
  transition:color .3s,border-color .3s,transform .25s;
  box-shadow:0 6px 24px #000000b3,0 0 0 4px #c9de312e;
  /* S6: dropped from 99999 to 150 so chip sits below modals (1000+). !important kept defensive. */
  z-index:150!important;
  visibility:visible!important;
  opacity:1!important;
  color:#f0ede4!important;
  background:#000!important;
  border:1.5px solid #c9de31!important;
  border-radius:999px!important;
  padding:14px 20px!important;
  display:inline-flex!important;
  position:static!important
}
.sound-btn:hover {
  color:var(--accent);
  border-color:var(--accent-soft);
  transform:translateY(-2px)
}
.sound-btn .icon {
  justify-content:center;
  align-items:center;
  width:18px;
  height:18px;
  display:flex
}
.sound-btn .icon svg {
  stroke:currentColor;
  fill:none;
  stroke-width:1.7px;
  stroke-linecap:round;
  stroke-linejoin:round;
  width:18px;
  height:18px
}
.sound-btn .icon .wave {
  transition:opacity .25s
}
.sound-btn:not(.on) .icon .wave {
  opacity:0
}
.sound-btn .icon .slash {
  stroke:currentColor;
  opacity:0;
  transition:opacity .25s
}
.sound-btn:not(.on) .icon .slash {
  opacity:1
}
.sound-btn.on {
  color:var(--accent);
  border-color:var(--accent-soft)
}
/* ── Play/Pause + Language buttons (share sound-btn look) ───── */
.play-btn, .lang-btn {
  font-family:var(--mono);
  letter-spacing:.22em;
  text-transform:uppercase;
  cursor:pointer;
  align-items:center;
  gap:10px;
  font-size:11px;
  transition:color .3s,border-color .3s,transform .25s;
  box-shadow:0 6px 24px #000000b3,0 0 0 4px #c9de312e;
  /* S6: same drop as .sound-btn. Chips sit below modals. */
  z-index:150!important;
  visibility:visible!important;
  opacity:1!important;
  color:#f0ede4!important;
  background:#000!important;
  border:1.5px solid #c9de31!important;
  border-radius:999px!important;
  padding:14px 20px!important;
  display:inline-flex!important;
  position:static!important
}
.play-btn { /* positioned by .hero-video-controls wrapper */ }
.lang-btn { position:fixed!important; top:24px!important; right:24px!important; }
.play-btn:hover, .lang-btn:hover {
  color:var(--accent);
  border-color:var(--accent-soft);
  transform:translateY(-2px);
}
.play-btn .icon {
  position:relative;
  justify-content:center;
  align-items:center;
  width:14px;
  height:14px;
  display:flex;
}
.play-btn .icon svg {
  position:absolute;
  width:14px;
  height:14px;
  fill:currentColor;
  transition:opacity .25s;
}
.play-btn .icon .icon-play { opacity:0; }
.play-btn.paused .icon .icon-pause { opacity:0; }
.play-btn.paused .icon .icon-play { opacity:1; }
.lang-btn .opt {
  color:#f0ede485;
  transition:color .25s;
}
.lang-btn .opt.active { color:var(--accent); }
.lang-btn .sep { color:#f0ede440; }
.menu-overlay {
  z-index:400;
  opacity:0;
  pointer-events:none;
  backdrop-filter:blur(2px);
  background:#0009;
  transition:opacity .4s;
  position:fixed;
  inset:0
}
.menu-overlay.open {
  opacity:1;
  pointer-events:auto
}
.menu-panel {
  z-index:401;
  background:var(--bg);
  border-right:1px solid var(--line);
  flex-direction:column;
  width:min(420px,90vw);
  padding:24px 28px;
  transition:transform .5s cubic-bezier(.7,0,.3,1);
  display:flex;
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  overflow-y:auto;
  transform:translate(-100%)
}
.menu-panel.open {
  transform:translate(0)
}
.menu-head {
  justify-content:space-between;
  align-items:center;
  margin-bottom:44px;
  display:flex
}
.menu-head .logo {
  opacity:.9;
  height:26px
}
.menu-close {
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-dim);
  background:0 0;
  border:none;
  padding:8px 0;
  font-size:10px;
  transition:color .3s
}
.menu-close:hover {
  color:var(--accent)
}
.menu-group {
  border-top:1px solid var(--line);
  margin-bottom:14px;
  padding-top:18px
}
.menu-group:first-of-type {
  border-top:none;
  padding-top:0
}
.menu-group .section-title {
  font-family:var(--display);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
  cursor:default;
  margin-bottom:14px;
  font-size:15px;
  font-weight:700;
  display:block
}
.menu-page {
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text);
  justify-content:space-between;
  align-items:baseline;
  padding:6px 0;
  font-size:16px;
  font-weight:600;
  transition:color .25s,padding-left .25s;
  display:flex
}
.menu-page:hover {
  color:var(--accent);
  padding-left:6px
}
.menu-page .arr {
  font-family:var(--mono);
  color:var(--text-mute);
  font-size:14px;
  transition:color .25s,transform .25s
}
.menu-page:hover .arr {
  color:var(--accent);
  transform:translate(4px)
}
.menu-pages {
  flex-direction:column;
  display:flex
}
.menu-foot {
  border-top:1px solid var(--line);
  margin-top:auto;
  padding-top:24px
}
.menu-foot .label {
  font-family:var(--mono);
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--text-mute);
  margin-top:14px;
  margin-bottom:4px;
  font-size:9px
}
.menu-foot .row {
  font-family:var(--mono);
  letter-spacing:.05em;
  color:var(--text-dim);
  margin-bottom:4px;
  font-size:11px
}
.menu-foot .row a:hover {
  color:var(--accent)
}
main {
  background:var(--bg);
  padding-top:0
}
.bento {
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:minmax(260px,auto);
  grid-auto-flow:dense;
  gap:0;
  display:grid
}
.cell {
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:260px;
  padding:24px;
  transition:background .4s,border-color .4s;
  position:relative;
  overflow:hidden
}
.cell:hover,.stats .item:hover,.news-row:hover,.foot-cell:hover {
  background:var(--bg-cell-hover)
}
.stats .item,.news-row,.foot-cell {
  transition:background .4s
}
.cell.col-start {
  border-left:1px solid var(--line)
}
.cell.row-1 {
  border-top:1px solid var(--line)
}
.cell:before,.stats .item:before,.news-row:before,.foot-cell:before,.partner-cell:before {
  content:"";
  background-image:var(--hover-bg);
  opacity:0;
  pointer-events:none;
  z-index:0;
  background-position:50%;
  background-size:cover;
  transition:opacity .6s;
  position:absolute;
  inset:0
}
.cell:hover:before,.stats .item:hover:before,.news-row:hover:before,.foot-cell:hover:before,.partner-cell:hover:before {
  opacity:.32
}
.news-row:before {
  background-repeat:no-repeat;
  background-size:100% 400%
}
.news-row:first-of-type:before {
  background-position:0 0
}
.news-row:nth-of-type(2):before {
  background-position:0 33.33%
}
.news-row:nth-of-type(3):before {
  background-position:0 66.67%
}
.news-row:nth-of-type(4):before {
  background-position:0 100%
}
.cell.prod:before,.cell.hero-video:before {
  content:none
}
.stats .item,.news-row,.foot-cell {
  position:relative
}
.cell:not(.prod):not(.hero-video)>*,.stats .item>*,.news-row>*,.foot-cell>*,.partner-cell>* {
  z-index:1;
  position:relative
}
.c-1 {
  grid-column:span 1
}
.c-2 {
  grid-column:span 2
}
.c-3 {
  grid-column:span 3
}
.c-4 {
  grid-column:span 4
}
.c-5 {
  grid-column:span 5
}
.c-6 {
  grid-column:span 6
}
.r-2 {
  grid-row:span 2
}
.r-3 {
  grid-row:span 3
}
.r-4 {
  grid-row:span 4
}
.cell.hero-text {
  flex-direction:column;
  justify-content:space-between;
  height:100vh;
  height:100svh;
  min-height:0;
  padding:96px 32px 32px;
  display:flex
}
.cell.hero-text .top {
  display:flex;
  flex-direction:column;
  align-items:center
}
.cell.hero-text .top .hero-logo {
  opacity:.95;
  width:140px;
  height:auto;
  margin-bottom:32px;
  display:block
}
.cell.hero-text .top .mark {
  font-family:var(--mono);
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--text-mute);
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  font-size:10px;
  display:flex
}
.cell.hero-text .top .mark:before {
  content:"";
  background:var(--accent);
  width:24px;
  height:1px;
  display:block
}
.cell.hero-text .top h1 {
  font-family:var(--display);
  letter-spacing:.005em;
  text-transform:uppercase;
  color:var(--text);
  font-size:clamp(1.6rem,2.4vw,2.4rem);
  font-weight:700;
  line-height:1.06;
  margin-top:48px;
  align-self:flex-start;
  width:100%
}
.cell.hero-text .top h1 em {
  color:var(--accent);
  font-style:normal
}
.cell.hero-text .body {
  color:var(--text-dim);
  max-width:88%;
  margin-top:64px;
  font-size:17px;
  line-height:1.9
}
.cell.hero-text .body p {
  margin-bottom:20px
}
.cell.hero-text .cta {
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#0a1a02;
  background:var(--accent);
  align-self:center;
  align-items:center;
  gap:12px;
  margin-top:32px;
  padding:18px 32px;
  font-size:11px;
  border-radius:999px;
  transition:background .3s,color .3s,transform .3s;
  display:inline-flex
}
.cell.hero-text .cta:hover {
  background:var(--text);
  color:#000;
  transform:translateY(-2px)
}
.cell.hero-video {
  height:100vh;
  height:100svh;
  min-height:0;
  padding:0
}
.cell.hero-video video {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block
}
.hero-video-controls {
  position:absolute;
  bottom:24px;
  right:24px;
  display:flex;
  align-items:center;
  gap:12px;
  z-index:10
}
.cell.hero-video .pill {
  z-index:5;
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text);
  border:1px solid var(--line);
  backdrop-filter:blur(10px);
  background:#0000008c;
  border-radius:2px;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  font-size:10px;
  display:inline-flex;
  position:absolute;
  top:24px;
  left:24px
}
.cell.hero-video .pill .dot {
  background:var(--accent);
  width:7px;
  height:7px;
  box-shadow:0 0 8px var(--accent);
  border-radius:50%;
  animation:2s ease-in-out infinite pulse
}
@keyframes pulse {
  0%,to {
  opacity:1
}
50% {
  opacity:.4
}

}
.cell.stats {
  grid-template-columns:repeat(3,1fr);
  gap:0;
  min-height:175px;
  padding:0;
  display:grid
}
.stats .item {
  border-right:1px solid var(--line);
  flex-direction:column;
  justify-content:center;
  padding:24px 32px;
  display:flex
}
.stats .item:last-child {
  border-right:none
}
.stats .item .num {
  font-family:var(--mono);
  letter-spacing:-.02em;
  color:var(--text);
  font-size:clamp(2.4rem,4vw,3.6rem);
  font-weight:500;
  line-height:1
}
.stats .item .lbl {
  font-family:var(--mono);
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--text-mute);
  margin-top:10px;
  font-size:10px
}
.cell.prod {
  cursor:pointer;
  grid-row:span 2;
  min-height:520px;
  padding:0
}
.cell.prod .img-wrap {
  position:absolute;
  inset:0;
  overflow:hidden
}
.cell.prod .img-wrap img,.cell.prod .img-wrap video,.cell.prod .img-wrap .ph {
  object-fit:cover;
  filter:saturate(.85)brightness(.78);
  width:100%;
  height:100%;
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .5s;
  position:absolute;
  inset:0
}
.cell.prod.has-video:hover .img-wrap video {
  filter:saturate()brightness(.95)
}
.cell.prod:not(.has-video):hover .img-wrap img,.cell.prod:not(.has-video):hover .img-wrap .ph {
  filter:saturate()brightness(.92);
  transform:scale(1.06)
}
.cell.prod .img-wrap:after {
  content:"";
  pointer-events:none;
  background:linear-gradient(#0000008c 0%,#0000001a 50%,#000000d9 100%);
  position:absolute;
  inset:0
}
.cell.prod .ph {
  background:radial-gradient(at 50% 30%,#3c5a2866,#0000 60%),#000
}
.cell.prod .info {
  z-index:2;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  padding:22px 26px;
  display:flex;
  position:absolute;
  bottom:0;
  left:0;
  right:0
}
.cell.prod .info .title {
  font-family:var(--display);
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--text);
  font-size:clamp(1.05rem,1.5vw,1.7rem);
  font-weight:700;
  line-height:1.05
}
.cell.prod .info .title em {
  color:var(--accent);
  font-style:normal;
  font-weight:700
}
.cell.prod .info .meta {
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-dim);
  text-align:right;
  white-space:nowrap;
  font-size:9px
}
.cell.prod .badge {
  z-index:3;
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text);
  border:1px solid var(--line);
  backdrop-filter:blur(6px);
  background:#0000008c;
  border-radius:2px;
  padding:5px 9px;
  font-size:9px;
  position:absolute;
  top:18px;
  left:18px
}
.cell.prod .badge.now {
  color:var(--accent);
  border-color:var(--accent-soft)
}
.cell.prod.feat {
  grid-row:span 3;
  min-height:780px
}
.cell.prod.feat .info {
  padding:32px 36px
}
.cell.prod.feat .info .title {
  font-size:clamp(1.8rem,3.4vw,3.4rem);
  line-height:.96
}
.cell.leaf-tok {
  justify-content:center;
  align-items:center;
  padding:18px;
  display:flex;
  position:relative
}
.cell.leaf-tok .leaf {
  justify-content:center;
  align-items:center;
  width:75%;
  height:75%;
  display:flex;
  position:relative
}
.leaf-img {
  transform-origin:50%;
  background-position:50%;
  background-repeat:no-repeat;
  background-size:contain;
  width:100%;
  height:100%;
  animation:90s linear infinite slowSpin
}
.leaf-A {
  background-image:url(Leafes/leaf-a.png)
}
.leaf-B {
  background-image:url(Leafes/leaf-b.png)
}
.leaf-C {
  background-image:url(Leafes/leaf-c.png)
}
.leaf-D {
  background-image:url(Leafes/leaf-d.png)
}
body.leaves-photo .leaf-img {
  filter:brightness(.9)saturate()contrast(1.05)
}
body.leaves-outline-g1 .leaf-img,body.leaves-outline-g2 .leaf-img,body.leaves-outline-g3 .leaf-img {
  background-color:var(--outline);
  -webkit-mask-position:50%;
  mask-position:50%;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  background-image:none!important
}
body.leaves-outline-g1 .leaf-A,body.leaves-outline-g2 .leaf-A,body.leaves-outline-g3 .leaf-A {
  -webkit-mask-image:url(Leafes/leaf-a.png);
  mask-image:url(Leafes/leaf-a.png)
}
body.leaves-outline-g1 .leaf-B,body.leaves-outline-g2 .leaf-B,body.leaves-outline-g3 .leaf-B {
  -webkit-mask-image:url(Leafes/leaf-b.png);
  mask-image:url(Leafes/leaf-b.png)
}
body.leaves-outline-g1 .leaf-C,body.leaves-outline-g2 .leaf-C,body.leaves-outline-g3 .leaf-C {
  -webkit-mask-image:url(Leafes/leaf-c.png);
  mask-image:url(Leafes/leaf-c.png)
}
body.leaves-outline-g1 .leaf-D,body.leaves-outline-g2 .leaf-D,body.leaves-outline-g3 .leaf-D {
  -webkit-mask-image:url(Leafes/leaf-d.png);
  mask-image:url(Leafes/leaf-d.png)
}
.cell.leaf-tok .corner {
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-mute);
  font-size:9px;
  position:absolute;
  top:14px;
  left:14px
}
.cell.mini-stat {
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:24px;
  display:flex
}
.cell.mini-stat .num {
  font-family:var(--mono);
  color:var(--accent);
  letter-spacing:-.02em;
  font-size:clamp(2rem,3.4vw,3rem);
  font-weight:500;
  line-height:.95
}
.cell.mini-stat .lbl {
  font-family:var(--mono);
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--text-mute);
  margin-top:10px;
  font-size:10px
}
.cell.logo-tile {
  grid-row:span 2;
  justify-content:center;
  align-items:center;
  min-height:520px;
  padding:36px;
  display:flex;
  position:relative
}
.logo-img {
  background-image:url(logo-floresta.png);
  background-position:50%;
  background-repeat:no-repeat;
  background-size:contain;
  width:100%;
  height:200px;
  max-height:70%
}
.cell.logo-tile .corner {
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-mute);
  font-size:9px;
  position:absolute;
  top:14px;
  left:14px
}
.cell.quote {
  flex-direction:column;
  justify-content:center;
  padding:28px;
  display:flex
}
.cell.quote .q {
  letter-spacing:-.01em;
  color:var(--text);
  font-size:clamp(1rem,1.5vw,1.4rem);
  font-weight:400;
  line-height:1.3
}
.cell.quote .q em {
  color:var(--accent);
  font-style:normal
}
.cell.quote .src {
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-mute);
  margin-top:18px;
  font-size:10px
}
.mock-page {
  display:none
}
.mock-page.active {
  display:block
}
.team-hero {
  border-bottom:1px solid var(--line);
  grid-template-columns:repeat(6,1fr);
  align-items:end;
  gap:0;
  padding:160px 24px 80px;
  display:grid
}
.team-hero .kicker {
  font-family:var(--mono);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--text-mute);
  grid-column:1/3;
  align-items:center;
  gap:12px;
  padding-bottom:18px;
  font-size:11px;
  display:flex
}
.team-hero .kicker:before {
  content:"";
  background:var(--accent);
  width:32px;
  height:1px;
  display:block
}
.team-hero h1 {
  font-family:var(--display);
  letter-spacing:.005em;
  text-transform:uppercase;
  color:var(--text);
  grid-column:1/5;
  margin-top:8px;
  font-size:clamp(3rem,7vw,7rem);
  font-weight:700;
  line-height:.92
}
.team-hero .lead {
  color:var(--text-dim);
  grid-column:1/5;
  max-width:46ch;
  margin-top:24px;
  font-size:clamp(1rem,1.3vw,1.25rem);
  line-height:1.5
}
.team-hero .lead strong {
  color:var(--accent);
  font-weight:600
}
.team-hero .keywords {
  flex-wrap:wrap;
  grid-column:5/7;
  justify-content:flex-end;
  align-items:flex-end;
  gap:10px;
  padding-bottom:12px;
  display:flex
}
.team-hero .keyword {
  font-family:var(--mono);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--text);
  padding:9px 0;
  font-size:10px
}
.team-hero .keyword+.keyword {
  padding-left:18px;
  position:relative
}
.team-hero .keyword+.keyword:before {
  content:"·";
  color:var(--accent);
  font-family:var(--mono);
  font-size:14px;
  position:absolute;
  top:50%;
  left:6px;
  transform:translateY(-50%)
}
.team-values {
  border-bottom:1px solid var(--line);
  grid-template-columns:repeat(5,1fr);
  display:grid
}
.team-values .val {
  border-right:1px solid var(--line);
  text-align:left;
  flex-direction:column;
  gap:10px;
  padding:48px 24px;
  transition:background .4s;
  display:flex;
  position:relative
}
.team-values .val:last-child {
  border-right:none
}
.team-values .val:hover {
  background:var(--bg-cell-hover)
}
.team-values .val .num {
  font-family:var(--mono);
  letter-spacing:.25em;
  color:var(--text-mute);
  text-transform:uppercase;
  font-size:10px
}
.team-values .val .name {
  font-family:var(--display);
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--text);
  font-size:clamp(1.4rem,2vw,2rem);
  font-weight:700;
  line-height:1
}
.team-grid-wrap {
  padding:96px clamp(40px,12vw,200px) 160px
}
.team-grid-head {
  grid-template-columns:repeat(6,1fr);
  align-items:end;
  gap:0;
  padding:0 0 36px;
  display:grid
}
.team-grid-head .kicker {
  font-family:var(--mono);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--text-mute);
  grid-column:1/3;
  align-items:center;
  gap:12px;
  font-size:11px;
  display:flex
}
.team-grid-head .kicker:before {
  content:"";
  background:var(--accent);
  width:32px;
  height:1px;
  display:block
}
.team-grid-head h2 {
  font-family:var(--display);
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--text);
  text-align:right;
  grid-column:3/7;
  font-size:clamp(1.6rem,2.4vw,2.4rem);
  font-weight:700;
  line-height:1
}
.team-grid {
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  grid-template-columns:repeat(5,1fr);
  gap:0;
  display:grid
}
.team-card {
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--bg-cell);
  cursor:pointer;
  flex-direction:column;
  transition:background .4s;
  display:flex;
  position:relative
}
.team-card:hover {
  background:var(--bg-cell-hover)
}
.team-card .photo {
  aspect-ratio:4/5;
  background:#0a0c0b;
  width:100%;
  position:relative;
  overflow:hidden
}
.team-card .photo img {
  object-fit:cover;
  filter:saturate(.85)brightness(.88);
  width:100%;
  height:100%;
  transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s;
  position:absolute;
  inset:0
}
.team-card:hover .photo img {
  filter:saturate()brightness(.55);
  transform:scale(1.04)
}
.team-card .meta {
  border-top:1px solid var(--line);
  flex-direction:column;
  gap:5px;
  padding:14px 16px 18px;
  display:flex
}
.team-card .meta .name {
  font-family:var(--display);
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--text);
  font-size:.85rem;
  font-weight:700;
  line-height:1.15
}
.team-card .meta .role {
  font-family:var(--sans);
  color:var(--text-dim);
  font-size:11px;
  line-height:1.35
}
.team-card .photo .bio-hover {
  height:0;
  color:var(--text);
  pointer-events:none;
  z-index:2;
  background:linear-gradient(#02030359,#020303eb 25%);
  transition:height .45s cubic-bezier(.2,.7,.2,1);
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  overflow:hidden
}
.team-card:hover .photo .bio-hover {
  height:100%
}
.team-card .bio-hover-inner {
  font-family:var(--sans);
  color:var(--text);
  align-items:flex-start;
  padding:18px 18px 20px;
  font-size:11.5px;
  line-height:1.5;
  display:flex;
  position:absolute;
  inset:0;
  overflow:hidden
}
.team-card .bio-hover-inner .txt {
  -webkit-line-clamp:11;
  -webkit-box-orient:vertical;
  display:-webkit-box;
  overflow:hidden;
  text-overflow:ellipsis;
  width:100%
}
.team-card .read-more {
  z-index:3;
  font-family:var(--mono);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent);
  border:1px solid var(--accent-soft);
  opacity:0;
  pointer-events:none;
  background:#02030399;
  border-radius:2px;
  padding:5px 8px;
  font-size:9px;
  transition:opacity .3s;
  position:absolute;
  top:10px;
  right:10px
}
.team-card:hover .read-more {
  opacity:1
}
.member-modal {
  /* S6: bumped from 500 to 1000 so it sits above chips (150) + menu (401). */
  z-index:1000;
  opacity:0;
  pointer-events:none;
  -webkit-backdrop-filter:blur(8px);
  background:#000000b3;
  justify-content:center;
  align-items:center;
  padding:40px 20px;
  transition:opacity .4s;
  display:flex;
  position:fixed;
  inset:0
}
.member-modal.open {
  opacity:1;
  pointer-events:auto
}
.member-modal-panel {
  background:var(--bg);
  border:1px solid var(--line);
  grid-template-columns:1fr 1.2fr;
  width:min(960px,100%);
  max-height:88vh;
  transition:transform .4s;
  display:grid;
  position:relative;
  overflow:hidden;
  transform:translateY(20px)
}
.member-modal.open .member-modal-panel {
  transform:translateY(0)
}
.member-modal-photo {
  background:#0a0c0b;
  min-height:520px;
  position:relative
}
.member-modal-photo img {
  object-fit:cover;
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}
.member-modal-body {
  flex-direction:column;
  gap:14px;
  padding:48px 44px;
  display:flex;
  overflow-y:auto
}
.member-modal-body .role-tag {
  font-family:var(--mono);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--accent);
  align-items:center;
  gap:10px;
  font-size:10px;
  display:flex
}
.member-modal-body .role-tag:before {
  content:"";
  background:var(--accent);
  width:24px;
  height:1px;
  display:block
}
.member-modal-body h3 {
  font-family:var(--display);
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--text);
  font-size:clamp(1.6rem,2.6vw,2.4rem);
  font-weight:700;
  line-height:1
}
.member-modal-body .role {
  font-family:var(--sans);
  color:var(--text-dim);
  margin-bottom:14px;
  font-size:13px
}
.member-modal-body .bio {
  font-family:var(--sans);
  color:var(--text-dim);
  font-size:14px;
  line-height:1.7
}
.member-modal-close {
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-dim);
  border:1px solid var(--line);
  z-index:2;
  background:#020303b3;
  border-radius:2px;
  padding:8px 12px;
  font-size:10px;
  transition:color .3s,border-color .3s;
  position:absolute;
  top:16px;
  right:16px
}
.member-modal-close:hover {
  color:var(--accent);
  border-color:var(--accent-soft)
}
@media (width<=780px) {
  .member-modal-panel {
  grid-template-columns:1fr;
  max-height:92vh
}
.member-modal-photo {
  aspect-ratio:4/3;
  min-height:280px
}
.member-modal-body {
  padding:28px 24px
}

}
@media (width<=1100px) {
  .team-hero {
  grid-template-columns:repeat(4,1fr)
}
.team-hero .kicker {
  grid-column:1/3
}
.team-hero h1,.team-hero .lead {
  grid-column:1/5
}
.team-hero .keywords {
  grid-column:1/5;
  justify-content:flex-start;
  padding-top:18px
}
.team-values {
  grid-template-columns:repeat(2,1fr)
}
.team-values .val {
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.team-values .val:nth-child(2n) {
  border-right:none
}
.team-grid {
  grid-template-columns:repeat(3,1fr)
}
.team-card .bio-hover-inner {
  font-size:12.5px
}
.team-grid-head {
  grid-template-columns:repeat(4,1fr)
}
.team-grid-head h2 {
  grid-column:3/5
}

}
@media (width<=680px) {
  .team-grid {
  grid-template-columns:repeat(2,1fr)
}
.team-hero {
  padding:120px 18px 60px
}
.team-grid-wrap {
  padding:60px 18px 100px
}

}
.partners-wrap {
  background:var(--bg);
  padding:120px 0 40px
}
.partners {
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:minmax(140px,auto);
  display:grid
}
.partner-cell {
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:center;
  justify-content:center;
  align-items:center;
  padding:24px;
  transition:background .4s,color .4s;
  display:flex;
  position:relative
}
.partner-cell:hover {
  background:var(--bg-cell-hover);
  color:var(--accent)
}
.partner-cell .mark {
  font-family:var(--display);
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text);
  font-size:clamp(.95rem,1.3vw,1.3rem);
  font-weight:700;
  line-height:1;
  transition:color .3s
}
.partner-cell:hover .mark {
  color:var(--accent)
}
.partner-cell .partner-logo {
  object-fit:contain;
  width:auto;
  max-width:72%;
  height:auto;
  max-height:62px;
  transition:transform .4s,filter .4s
}
.partner-cell:hover .partner-logo {
  filter:brightness(1.1)saturate(1.15);
  transform:scale(1.06)
}
.partner-logo.invert {
  filter:invert()brightness(1.05)
}
.partner-cell:hover .partner-logo.invert {
  filter:invert()brightness(1.18)saturate(1.15)
}
.partner-logo.knockout-white {
  mix-blend-mode:screen
}
.partner-title {
  text-align:left;
  flex-direction:column;
  grid-area:1/1/span 2/span 2;
  justify-content:flex-end;
  align-items:flex-start;
  padding:32px;
  display:flex
}
.partner-title .kicker {
  font-family:var(--mono);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--text-mute);
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  font-size:11px;
  display:flex
}
.partner-title .kicker:before {
  content:"";
  background:var(--accent);
  width:24px;
  height:1px;
  display:block
}
/* Partners title card keeps the forest backdrop always on (ported from
   sobre-content.html page-scoped <style>, "BUG 13"). */
.partners .partner-cell.partner-title:before{ opacity:.32 !important; }
.partner-title h2 {
  font-family:var(--display);
  letter-spacing:.005em;
  text-transform:uppercase;
  color:var(--text);
  font-size:clamp(1.6rem,2.4vw,2.4rem);
  font-weight:700;
  line-height:1.06
}
@media (width<=1100px) {
  .partners {
  grid-template-columns:repeat(4,1fr)
}
.partner-title {
  grid-area:1/1/span 2/span 2
}

}
@media (width<=680px) {
  .partners {
  grid-template-columns:repeat(2,1fr)
}
.partner-title {
  grid-area:1/1/span 1/span 2
}

}
.news-wrap {
  background:var(--bg);
  padding:120px 0 0
}
.news {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.news-title {
  border-bottom:none;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  padding:0 24px 28px;
  display:flex
}
.news-title h2 {
  font-family:var(--display);
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--text);
  font-size:clamp(2.4rem,5vw,4.4rem);
  font-weight:700;
  line-height:.95
}
.news-title .kicker {
  font-family:var(--mono);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--text-mute);
  padding-bottom:14px;
  font-size:11px
}
.news-head {
  border-bottom:1px solid var(--line);
  grid-template-columns:repeat(6,1fr);
  align-items:center;
  display:grid
}
.news-head .lbl {
  font-family:var(--mono);
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--text-mute);
  border-right:1px solid var(--line);
  grid-column:1/2;
  padding:22px 24px;
  font-size:11px
}
.news-head .ttl {
  font-family:var(--sans);
  color:var(--text);
  letter-spacing:-.01em;
  border-right:1px solid var(--line);
  border-left:1px solid var(--line);
  grid-column:3/6;
  padding:22px 24px;
  font-size:14px;
  font-weight:500
}
.news-head .all {
  text-align:right;
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-dim);
  cursor:pointer;
  grid-column:6/7;
  padding:22px 24px;
  font-size:10px;
  transition:color .3s
}
.news-head .all:hover {
  color:var(--accent)
}
.news-row {
  border-bottom:1px solid var(--line);
  cursor:pointer;
  grid-template-columns:repeat(6,1fr);
  transition:background .3s;
  display:grid
}
.news-row:last-child {
  border-bottom:none
}
.news-row:hover {
  background:var(--bg-cell-hover)
}
.news-row .date {
  font-family:var(--mono);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-mute);
  border-right:1px solid var(--line);
  grid-column:1/2;
  align-items:center;
  padding:28px 24px;
  font-size:11px;
  display:flex
}
.news-row .thumb {
  border-right:1px solid var(--line);
  grid-column:2/3;
  min-height:140px;
  position:relative;
  overflow:hidden
}
/* text_photo + sinopse body copy: dimmer grey, proper paragraph spacing. */
.text-photo .copy .body-content,
.page-block .body-content {
  color:var(--text-dim);
  font-family:var(--sans);
  font-size:clamp(.95rem,1.05vw,1.05rem);
  line-height:1.65;
}
/* Accent hashtags / highlighted inline words: green + bold + subtle glow. */
.text-photo .copy .body-content em,
.page-block .body-content em,
.page-block p em {
  font-style:normal;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.01em;
  text-shadow:0 0 18px var(--accent-glow);
}
.text-photo .copy .body-content p,
.page-block .body-content p {
  margin:0 0 1.1em;
}
.text-photo .copy .body-content p:last-child,
.page-block .body-content p:last-child {
  margin-bottom:0;
}

/* Archive context: tall rows with the thumb floating in the middle, air above + below. */
.archive-novidade .news-row-link { display:block; color:inherit; text-decoration:none; }
.archive-novidade .news-row {
  min-height:240px;
  align-items:center; /* centers thumb + body + date vertically inside the row */
}
.archive-novidade .news-row .thumb {
  align-self:center;
  height:140px;
  min-height:140px;
  max-height:140px;
  margin:0 24px;
  border-right:none; /* gutter replaces the line so the thumb floats cleanly */
}
.archive-novidade .news-row .body {
  padding:40px 32px;
  gap:24px;
  border-right:none;
}
.archive-novidade .news-row .date {
  padding:40px 24px;
  align-self:center;
}
.news-row .thumb img {
  object-fit:cover;
  filter:saturate(.85)brightness(.85);
  width:100%;
  height:100%;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s;
  position:absolute;
  inset:0
}
.news-row:hover .thumb img {
  filter:saturate()brightness();
  transform:scale(1.08)
}
.news-row .body {
  border-right:1px solid var(--line);
  grid-column:3/6;
  align-items:center;
  gap:18px;
  padding:28px 24px;
  transition:padding .3s;
  display:flex
}
.news-row:hover .body {
  padding-left:30px
}
.news-row .body .leaf-mark {
  flex:none;
  justify-content:center;
  align-items:center;
  width:28px;
  height:28px;
  display:flex;
  position:relative
}
.news-row .body .leaf-mark .leaf-img {
  animation:none
}
.news-row .body .head {
  font-family:var(--sans);
  color:var(--text);
  letter-spacing:-.005em;
  font-size:clamp(.95rem,1.2vw,1.25rem);
  font-weight:500;
  line-height:1.3
}
.news-row .cat {
  font-family:var(--mono);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--text-mute);
  grid-column:6/7;
  justify-content:flex-end;
  align-items:center;
  padding:28px 24px;
  font-size:10px;
  display:flex
}
.brand-stamp {
  background:var(--bg);
  justify-content:center;
  align-items:center;
  margin-top:40px;
  min-height:200px;
  padding:0;
  display:flex
}
.brand-stamp-inner {
  justify-content:center;
  align-items:center;
  width:100%;
  display:flex
}
.brand-stamp-logo {
  opacity:.95;
  width:17.5vw;
  max-width:none;
  height:auto;
  display:block
}
.foot-bento {
  border-top:1px solid #f5f1e88c;
  border-bottom:1px solid var(--line);
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:minmax(180px,auto);
  display:grid
}
.foot-cell {
  border-right:1px solid var(--line);
  flex-direction:column;
  padding:24px;
  display:flex;
  position:relative
}
.foot-cell:nth-child(6n) {
  border-right:none
}
.foot-cell .lbl {
  font-family:var(--mono);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--text-mute);
  margin-bottom:18px;
  font-size:10px
}
.foot-cell ul {
  list-style:none
}
.foot-cell li a {
  color:var(--text);
  padding:5px 0;
  font-size:13px;
  transition:color .25s,padding-left .25s;
  display:block
}
.foot-cell li a:hover {
  color:var(--accent);
  padding-left:4px
}
.foot-cell.social {
  justify-content:space-between
}
.foot-cell.social .links {
  align-items:center;
  gap:12px;
  margin-top:auto;
  display:flex
}
.foot-cell.social .links a {
  border:1px solid var(--line);
  font-family:var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-dim);
  border-radius:2px;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  font-size:10px;
  transition:color .3s,border-color .3s,gap .3s;
  display:flex
}
.foot-cell.social .links a:hover {
  color:var(--accent);
  border-color:var(--accent-soft);
  gap:12px
}
.foot-cell.social .links svg {
  color:currentColor;
  width:14px;
  height:14px
}
.foot-bar {
  font-family:var(--mono);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-mute);
  grid-template-columns:repeat(6,1fr);
  font-size:10px;
  display:grid
}
.foot-bar div {
  border-right:1px solid var(--line);
  padding:18px 24px
}
.foot-bar div:nth-child(6n),.foot-bar div:last-child {
  border-right:none
}
.foot-bar a:hover {
  color:var(--accent)
}
.foot-cell:nth-child(2n):before {
  opacity:.32
}
.foot-bar div.copyright {
  grid-column:span 2;
  white-space:nowrap
}
@media (width<=1100px) {
  .bento {
  grid-template-columns:repeat(4,1fr)
}
.c-5,.c-6,.c-4,.c-3 {
  grid-column:span 4
}
.c-2 {
  grid-column:span 2
}
.c-1 {
  grid-column:span 1
}
.cell.hero-text,.cell.hero-video {
  grid-column:span 4;
  height:100vh;
  height:100svh;
  min-height:0
}
.cell.stats {
  grid-column:span 4
}
.news-head,.news-row {
  grid-template-columns:repeat(4,1fr)
}
.news-head .lbl {
  grid-column:1/2
}
.news-head .ttl {
  border-left:1px solid var(--line);
  grid-column:3/4
}
.news-head .all {
  grid-column:4/5
}
.news-row .date {
  grid-column:1/2
}
.news-row .thumb {
  grid-column:2/3
}
.news-row .body {
  grid-column:3/4
}
.news-row .cat {
  grid-column:4/5
}
.foot-bento {
  grid-template-columns:repeat(4,1fr)
}
.foot-cell:nth-child(4n) {
  border-right:none
}
.foot-cell:nth-child(6n) {
  border-right:1px solid var(--line)
}
.foot-bar {
  grid-template-columns:repeat(2,1fr)
}
.foot-bar div {
  border-right:1px solid var(--line)!important
}
.foot-bar div:nth-child(2n) {
  border-right:none!important
}
.foot-bar div.copyright {
  grid-column:1/-1;
  border-right:none!important;
  white-space:normal
}
.foot-bar div:nth-child(even):not(.copyright) {
  border-right:1px solid var(--line)!important
}
.foot-bar div:nth-child(odd):not(.copyright) {
  border-right:none!important
}

}
@media (width<=680px) {
  .chrome {
  flex-direction:column;
  align-items:stretch;
  padding:14px
}
.dev {
  justify-content:flex-start;
  max-width:none
}
.bento {
  grid-template-columns:repeat(2,1fr)
}
.c-1,.c-2,.c-3,.c-4,.c-5,.c-6,.cell.hero-text,.cell.hero-video,.cell.stats {
  grid-column:span 2
}
.stats {
  grid-template-columns:1fr;
  gap:0
}
.stats .item {
  border-right:none;
  border-bottom:1px solid var(--line)
}
.stats .item:last-child {
  border-bottom:none
}
.news-wrap {
  padding:60px 0
}
.news-head,.news-row {
  grid-template-columns:1fr 1fr
}
.news-head .lbl {
  border-right:none;
  border-bottom:1px solid var(--line);
  grid-column:1/3
}
.news-head .ttl {
  grid-column:1/2
}
.news-head .all {
  grid-column:2/3
}
.news-row .date {
  border-right:none;
  grid-column:1/3;
  padding-top:18px;
  padding-bottom:0
}
.news-row .thumb {
  border-right:none;
  grid-column:1/3;
  height:200px;
  min-height:200px
}
.news-row .body {
  border-right:none;
  grid-column:1/3;
  padding-top:8px
}
.news-row .cat {
  grid-column:1/3;
  padding-top:0
}
.foot-bento {
  grid-template-columns:repeat(2,1fr)
}
.foot-cell:nth-child(2n) {
  border-right:none
}
.foot-cell:nth-child(odd) {
  border-right:1px solid var(--line)
}
.cell.hero-text {
  padding:120px 22px 28px
}
.cell.hero-text .top .hero-logo {
  width:110px;
  margin-bottom:24px
}

}

/* ════════════════════════════════════════════════════════════════
   COMPONENTES NOVOS — Revisão por página (PDF 2026-05-16)
   ════════════════════════════════════════════════════════════════ */

/* ── Splash Gate — SVG cutout reveal ─────────────────────────── */
.splash-gate{
  /* S6: bumped to 10000 to ensure the entry experience always sits above all UI. */
  position:fixed; inset:0; z-index:10000;
  background:transparent;
  display:block;
  cursor:pointer; overflow:hidden;
  transition:opacity .6s ease;
}
.splash-gate.fade-out{ opacity:0; pointer-events:none; }
.splash-gate .gate-svg{
  position:absolute; inset:0; z-index:2;
  width:100%; height:100%;
  display:block;
  shape-rendering:geometricPrecision;
  pointer-events:none;
}
.splash-gate .gate-leaves{
  opacity:1;
  filter:brightness(.55) saturate(1.1);
  transition:filter .9s ease;
}
.splash-gate .gate-black{
  fill-opacity:1;
  transition:fill-opacity .9s ease;
}
.splash-gate.mouse-active .gate-black{ fill-opacity:.5; }
.splash-gate.mouse-active .gate-leaves{ filter:brightness(.7) saturate(1.1); }
.splash-gate .gate-cut,
.splash-gate .gate-cut-clip{
  transform-box:view-box;
  transform-origin:50% 50%;
  transform:scale(.34);
  transition:transform 1.4s cubic-bezier(.7,0,.3,1);
}
.splash-gate.expanding .gate-cut,
.splash-gate.expanding .gate-cut-clip{ transform:translateY(1000px) scale(120); }
.splash-gate .gate-cta{
  position:absolute; z-index:3;
  left:50%; top:66%;
  transform:translate(-50%, 0);
  font-family:var(--mono); letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); font-size:11px;
  animation:gate-pulse 1.6s ease-in-out infinite;
  pointer-events:none;
  transition:opacity .4s ease;
  white-space:nowrap;
}
.splash-gate.expanding .gate-cta{ opacity:0; }
@keyframes gate-pulse{ 0%,100%{opacity:.55} 50%{opacity:1} }

/* Hide UI chrome while the gate is up — sound, play, lang, menu */
body.gated .chrome,
body.gated .sound-btn,
body.gated .play-btn,
body.gated .lang-btn{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .5s ease, visibility 0s linear .5s;
}

/* ── Hero Video Carousel (Home) ─────────────────────────────── */
.cell.hero-video.carousel .slides{
  position:absolute; inset:0; z-index:0;
}
.cell.hero-video.carousel .slide{
  position:absolute; inset:0;
  opacity:0; transition:opacity .9s ease;
  pointer-events:none;
}
.cell.hero-video.carousel .slide.active{ opacity:1; pointer-events:auto; }
.cell.hero-video.carousel .slide video,
.cell.hero-video.carousel .slide img{
  width:100%; height:100%; object-fit:cover;
}
.cell.hero-video.carousel .nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.55);
  border:1px solid var(--accent-soft);
  color:var(--text); font-family:var(--mono); font-size:18px;
  border-radius:999px;
  z-index:5; cursor:pointer;
  transition:background .3s, color .3s, transform .3s;
}
.cell.hero-video.carousel .nav:hover{ background:var(--accent); color:#000; transform:translateY(-50%) scale(1.08); }
.cell.hero-video.carousel .nav.prev{ left:14px; }
.cell.hero-video.carousel .nav.next{ right:14px; }
.cell.hero-video.carousel .dots{
  position:absolute; bottom:16px; left:50%; transform:translateX(-50%);
  display:flex; gap:8px; z-index:5;
}
.cell.hero-video.carousel .dots span{
  width:8px; height:8px; border-radius:999px;
  background:rgba(255,255,255,.32); transition:background .3s, transform .3s;
}
.cell.hero-video.carousel .dots span.active{ background:var(--accent); transform:scale(1.3); }
.cell.hero-video.carousel .pill{ z-index:6; }
.cell.hero-video.carousel .pill .proj{
  font-family:var(--mono); letter-spacing:.18em; text-transform:uppercase;
  font-size:10px; color:var(--text-dim); margin-top:4px;
}

/* ── Rotating Word (Team hero) ──────────────────────────────── */
.rotating-word{
  display:inline-block; position:relative;
  color:var(--accent); font-weight:800;
  vertical-align:baseline;
  perspective:600px;
  text-align:left;
}
.rotating-word .rw-slot{
  display:inline-grid;
  grid-template:1fr / 1fr;
  vertical-align:baseline;
}
.rotating-word .rw-item{
  grid-area:1 / 1;
  white-space:nowrap;
  transform-origin:50% 50% -.5em;
  transition:transform .7s cubic-bezier(.7,0,.2,1), opacity .35s ease;
}
.rotating-word .rw-item.out{ transform:rotateX(-90deg); opacity:0; }
.rotating-word .rw-item.in{  transform:rotateX(0deg);    opacity:1; }
.rotating-word .rw-item.next{ transform:rotateX(90deg);  opacity:0; }

/* ── Value Circles (Team page parallax) ─────────────────────── */
.page-team{ position:relative; }
.value-circles{
  position:absolute; inset:0; z-index:0; pointer-events:none;
}
.value-circle{
  position:absolute;
  width:clamp(150px,18vw,260px); height:clamp(150px,18vw,260px);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  font-family:var(--display); font-weight:700;
  letter-spacing:.04em; text-transform:uppercase;
  font-size:clamp(13px,1.1vw,17px);
  will-change:transform;
}
/* Versão A — ring em Leaf / verde escuro */
body.values-A .value-circle{
  border:2px solid var(--accent-soft);
  color:var(--accent);
  background:radial-gradient(circle at 50% 50%, rgba(201,222,49,.06), transparent 70%);
}
body.values-A .value-circle:nth-child(2n){ border-color:#5eb23066; color:#a9d878; }
/* Versão B — folhagem + texto dentro */
body.values-B .value-circle{
  color:var(--text);
  background-image:url(fundos/fundo_floresta_02.jpg);
  background-size:cover; background-position:50%;
  box-shadow:inset 0 0 0 2px rgba(201,222,49,.4), 0 6px 30px rgba(0,0,0,.6);
}
body.values-B .value-circle:after{
  content:""; position:absolute; inset:0;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(0,0,0,.2), rgba(0,0,0,.65));
}
body.values-B .value-circle span{ position:relative; z-index:2; }
.values-toggle{
  position:fixed; top:18px; right:80px; z-index:200;
  display:flex; gap:6px;
  background:rgba(0,0,0,.6);
  border:1px solid var(--accent-soft);
  border-radius:999px; padding:4px;
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
}
.values-toggle button{
  padding:6px 14px; border-radius:999px;
  color:var(--text-dim);
  transition:background .3s, color .3s;
}
.values-toggle button.active{ background:var(--accent); color:#000; }

/* ── Leaf Tag (ORIGINAL FLORESTA) ───────────────────────────── */
.leaf-tag{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 12px 5px 6px;
  border-radius:999px;
  background:rgba(201,222,49,.92);
  color:#0a1a02; font-family:var(--mono); font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; font-size:9.5px;
  box-shadow:0 4px 14px rgba(0,0,0,.4), inset 0 0 0 1px rgba(0,0,0,.08);
}
.leaf-tag:before{
  content:"";
  width:18px; height:18px;
  background-image:url(Leafes/leaf-a.png);
  background-size:contain; background-repeat:no-repeat; background-position:center;
  transform:rotate(-12deg);
}
.leaf-tag.green-dark{ background:rgba(94,178,48,.95); color:#fff; }

/* ── Project leaf-corner (overrides .cell.leaf-tok visual) ──── */
.cell.leaf-tok.corner-leaf .leaf{
  position:absolute; right:-10%; bottom:-12%;
  width:75%; height:75%;
  display:block;
}
.cell.leaf-tok.corner-leaf .leaf-img{ width:100%; height:100%; }

/* ── Stats backdrop (foliage + leaves at edges) ─────────────── */
.cell.stats.stats-rich{
  position:relative; overflow:hidden;
}
.cell.stats.stats-rich .stats-bg{
  position:absolute; inset:0; z-index:0;
  background-image:url(fundos/fundo_floresta_02.jpg);
  background-size:cover; background-position:50%;
  filter:blur(8px) brightness(.55);
  opacity:.6;
}
.cell.stats.stats-rich .stats-edge{
  position:absolute; top:0; bottom:0; width:18%;
  background-size:cover; background-position:50%;
  opacity:.85; pointer-events:none; z-index:1;
}
.cell.stats.stats-rich .stats-edge.left{ left:0; background-image:url(Leafes/leaf-b.png); background-repeat:no-repeat; background-size:contain; background-position:left center; transform:rotate(-20deg) scale(1.2); }
.cell.stats.stats-rich .stats-edge.right{ right:-6%; background-image:url(Leafes/leaf-c.png); background-repeat:no-repeat; background-size:contain; background-position:right center; transform:rotate(-45deg) scale(1.5); }
.cell.stats.stats-rich .item{ position:relative; z-index:2; text-align:center; transition:color .3s; }
.cell.stats.stats-rich .item .num{
  font-size:clamp(44px,5.2vw,82px);
  letter-spacing:-.02em;
  transition:color .3s;
}
.cell.stats.stats-rich .item .lbl{
  font-size:10.5px; letter-spacing:.28em;
  transition:color .3s;
}
.cell.stats.stats-rich .item:hover .num,
.cell.stats.stats-rich .item:hover .lbl{ color:var(--accent); }
.stats-extra .item{ transition:background .3s; }
.stats-extra .item::before{
  content:"";
  position:absolute; inset:0;
  background-image:var(--hover-bg);
  background-size:cover; background-position:50%;
  opacity:0; pointer-events:none; z-index:0;
  transition:opacity .6s;
}
.stats-extra .item:hover::before{ opacity:.32; }
.stats-extra .item .num,
.stats-extra .item .lbl{ transition:color .3s; position:relative; z-index:1; }
.stats-extra .item:hover .num,
.stats-extra .item:hover .lbl{ color:var(--accent); }
/* Wrapper cell não deve propagar hover quando filho stats-extra é hovereado */
.cell:has(.stats-extra):hover { background:transparent; }
.cell:has(.stats-extra):hover::before { opacity:0 !important; }
.stats-extra{
  display:grid; grid-template-columns:1fr 1fr;
  border-left:1px solid var(--line); border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  background:transparent;
  position:relative; overflow:hidden;
}
.stats-extra::before{
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:url(fundos/fundo_floresta_02.jpg);
  background-size:cover; background-position:50%;
  filter:blur(8px) brightness(.55);
  opacity:.6;
}
.stats-extra .item{
  padding:36px 24px;
  text-align:center;
  border-right:1px solid var(--line);
  position:relative;
  overflow:hidden;
  z-index:1;
  transition:background .3s;
}
.stats-extra .item:hover { background:var(--bg-cell-hover); }
.stats-extra .item:last-child{ border-right:none; }
.stats-extra .item .num{
  font-family:var(--display);
  font-size:clamp(32px,3.6vw,58px);
  font-weight:800;
  color:var(--text);
}
.stats-extra .item .lbl{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--text-dim); margin-top:8px;
}

/* ── Horizontal carousel (esteira) ──────────────────────────── */
.h-carousel{
  position:relative; overflow:hidden;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.h-carousel .track{
  display:flex; gap:0;
  animation:hcar 60s linear infinite;
  will-change:transform;
}
.h-carousel.fast .track{ animation-duration:30s; }
.h-carousel:hover .track{ animation-play-state:paused; }
@keyframes hcar{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.h-carousel .h-card{
  flex:0 0 auto;
  width:clamp(180px,18vw,260px); aspect-ratio:3/4;
  border-right:1px solid var(--line);
  position:relative; overflow:hidden;
}
.h-carousel .h-card img, .h-carousel .h-card video{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.9);
  transition:filter .3s, transform .5s;
}
.h-carousel .h-card:hover img, .h-carousel .h-card:hover video{ filter:saturate(1.1); transform:scale(1.04); }
.h-carousel .h-card .h-title{
  position:absolute; left:14px; right:14px; bottom:12px;
  font-family:var(--mono); font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--text); text-shadow:0 2px 8px rgba(0,0,0,.8);
}
.h-carousel .nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:999px;
  background:rgba(0,0,0,.6); border:1px solid var(--accent-soft);
  color:var(--text); display:flex; align-items:center; justify-content:center;
  z-index:6; cursor:pointer; font-family:var(--mono);
  transition:background .3s, color .3s, transform .3s;
}
.h-carousel .nav:hover{ background:var(--accent); color:#000; transform:translateY(-50%) scale(1.06); }
.h-carousel .nav.prev{ left:10px; } .h-carousel .nav.next{ right:10px; }

/* ── Instagram Card (Novidades) ─────────────────────────────── */
.ig-card{
  border:1px solid var(--line);
  background:#050605;
  padding:18px;
  display:flex; flex-direction:column;
  border-radius:6px;
  position:relative;
}
.ig-card .ig-head{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px;
}
.ig-card .ig-head svg{ width:18px; height:18px; }
.ig-card .ig-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:6px;
}
.ig-card .ig-tile{
  aspect-ratio:1/1; overflow:hidden; position:relative; cursor:pointer;
  background:#0c0d0a;
}
.ig-card .ig-tile img, .ig-card .ig-tile video{
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s, filter .3s;
  filter:saturate(.92);
}
.ig-card .ig-tile:hover img, .ig-card .ig-tile:hover video{ transform:scale(1.06); filter:saturate(1.05); }
.ig-card .ig-foot{
  margin-top:14px; padding-top:12px;
  border-top:1px solid var(--line);
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-dim);
  display:flex; justify-content:space-between;
}
.ig-card .ig-foot a:hover{ color:var(--accent); }

/* ── Featured news (3-row) ──────────────────────────────────── */
.news-featured{
  display:grid; grid-template-columns:1fr; gap:0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin-bottom:0;
  cursor:pointer;
}
.news-featured .thumb{
  width:100%; aspect-ratio:16/7; overflow:hidden;
  background:#0a0c0b;
}
.news-featured .thumb img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s ease;
}
.news-featured:hover .thumb img{ transform:scale(1.03); }
.news-featured .body{
  padding:28px 24px;
}
.news-featured .body .kicker{
  font-family:var(--mono); font-size:10px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.news-featured .body .kicker:before{
  content:""; width:24px; height:1px; background:currentColor;
}
.news-featured .body .head{
  font-family:var(--display); font-weight:700;
  font-size:clamp(22px,2.4vw,38px); line-height:1.1;
  letter-spacing:-.005em; color:var(--text);
  max-width:48ch;
}
.news-featured .body .date{
  font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--text-mute); margin-top:16px;
}

/* News layout: 3/5 news + 2/5 IG */
.news-with-ig{
  display:grid; grid-template-columns:3fr 2fr; gap:0;
  border-top:1px solid var(--line);
}
/* Merged news-head: title centered across full width, "Ver tudo" pinned right */
.news-head.news-head-merged{
  position:relative; display:block; padding:0;
  border-bottom:1px solid var(--line);
}
.news-head.news-head-merged .ttl{
  border:none; grid-column:auto;
  text-align:center; padding:22px 200px;
  text-transform:uppercase; letter-spacing:.02em;
  font-size:clamp(20px,1.8vw,28px);
  font-family:var(--sans); font-weight:500; color:var(--text);
}
.news-head.news-head-merged .all{
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  padding:0 24px;
  font-family:var(--mono); letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-dim); font-size:10px; transition:color .3s;
}
.news-head.news-head-merged .all a:hover{ color:var(--accent); }
.news-with-ig .news-col{
  border-right:1px solid var(--line);
}
.news-with-ig .ig-col{
  padding:18px 18px 0 18px;
  background:#040504;
}
@media (width<=900px){
  .news-with-ig{ grid-template-columns:1fr; }
  .news-with-ig .news-col{ border-right:none; border-bottom:1px solid var(--line); }
}

/* ── Page Hero (template) ────────────────────────────────────── */
.page-hero{
  position:relative; overflow:hidden;
  min-height:62vh;
  display:flex; align-items:flex-end;
  padding:160px 48px 60px;
  border-bottom:1px solid var(--line);
}
.page-hero .page-hero-bg{
  position:absolute; inset:0; z-index:0;
  background-image:url(fundos/fundo_floresta_03.jpg);
  background-size:cover; background-position:50%;
  opacity:.42;
}
.page-hero .page-hero-bg.dim{ opacity:.28; }
.page-hero .page-hero-bg:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(2,3,3,.3), rgba(2,3,3,.9));
}
.page-hero-inner{ position:relative; z-index:2; max-width:1400px; width:100%; }
.page-hero .kicker{
  font-family:var(--mono); font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); display:flex; align-items:center; gap:14px; margin-bottom:24px;
}
.page-hero .kicker:before{ content:""; width:32px; height:1px; background:currentColor; }
.page-hero h1{
  font-family:var(--display); font-weight:800;
  font-size:clamp(28px,3.6vw,56px); line-height:1; /* reduzido — antes 38–108px */
  letter-spacing:-.005em; text-transform:uppercase; color:var(--text);
  max-width:26ch;
}
.page-hero h1 em{ font-style:normal; color:var(--accent); }
.page-hero p.lead{
  margin-top:28px; max-width:62ch;
  color:var(--text-dim); font-size:clamp(15px,1.15vw,18px); line-height:1.55;
}

/* Bg video version */
.page-hero.bg-video .bgv{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.page-hero.bg-video .bgv iframe,
.page-hero.bg-video .bgv video{
  width:100%; height:100%; object-fit:cover;
  pointer-events:none; opacity:.4;
}
.page-hero.bg-video .bgv:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(2,3,3,.5), rgba(2,3,3,.92));
}

/* ── Page Block (text sections) ─────────────────────────────── */
.page-block{
  padding:90px 48px;
  border-bottom:1px solid var(--line);
}
.page-block-inner{ max-width:1400px; margin:0 auto; }
.page-block h2{
  font-family:var(--display); font-weight:800;
  font-size:clamp(20px,2.4vw,36px); line-height:1.05; text-transform:uppercase; /* reduzido proporcionalmente */
  letter-spacing:-.003em; color:var(--text); margin-bottom:32px;
}
.page-block h2 em{ font-style:normal; color:var(--accent); }
.page-block .lead{ color:var(--text-dim); font-size:clamp(15px,1.1vw,17px); line-height:1.6; max-width:62ch; }
.page-block .kicker{
  font-family:var(--mono); font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); margin-bottom:16px;
  display:flex; align-items:center; gap:14px;
}
.page-block .kicker:before{ content:""; width:32px; height:1px; background:currentColor; }

/* Two-col text+photo */
.text-photo{
  display:grid; grid-template-columns:5fr 4fr; gap:48px; align-items:center;
}
.text-photo .photo{ aspect-ratio:4/3; overflow:hidden; background:#0a0c0b; border:1px solid var(--line); }
.text-photo .photo img{ width:100%; height:100%; object-fit:cover; }
@media (width<=900px){ .text-photo{ grid-template-columns:1fr; } }

/* ── Timeline (Sobre) ───────────────────────────────────────── */
.timeline{
  position:relative; padding:60px 0 20px;
}
.timeline:before{
  content:""; position:absolute; left:0; right:0; top:90px; height:1px;
  background:var(--line);
}
.timeline-track{
  display:flex; gap:24px; overflow-x:auto; padding:0 4px 20px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.timeline-track::-webkit-scrollbar{ display:none; }
.timeline-step{
  flex:0 0 320px; scroll-snap-align:start;
  border-left:1px solid var(--accent-soft);
  padding:14px 20px;
  position:relative;
}
.timeline-step:before{
  content:""; position:absolute; left:-5px; top:-30px;
  width:10px; height:10px; border-radius:50%;
  background:var(--accent);
}
.timeline-step .year{
  font-family:var(--display); font-weight:800; color:var(--accent);
  font-size:32px; line-height:1; margin-bottom:8px;
}
.timeline-step .lbl{
  font-family:var(--mono); font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--text-dim); margin-bottom:12px;
}
.timeline-step .copy{ color:var(--text); font-size:14px; line-height:1.5; }
/* Clamp long step copy to 4 lines; JS adds a "Ler mais" toggle when it overflows. */
.timeline-step .copy.tl-clamp{
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4;
  overflow:hidden;
}
.timeline-step .copy.tl-clamp.tl-open{
  -webkit-line-clamp:unset; overflow:visible;
}
.timeline-step .tl-more{
  margin-top:8px; padding:0; background:none; border:0; cursor:pointer;
  font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); transition:opacity .2s;
}
.timeline-step .tl-more:hover{ opacity:.7; }
.timeline-compact .timeline-step{ flex:0 0 210px; padding:10px 14px; }
.timeline-compact .timeline-step .year{ font-size:22px; margin-bottom:6px; }
.timeline-compact .timeline-step .lbl{ font-size:9px; letter-spacing:.24em; margin-bottom:8px; }
.timeline-compact .timeline-step .copy{ font-size:12px; line-height:1.45; }

/* ── Mini Team (Sobre) ──────────────────────────────────────── */
/* Horizontal infinite-scroll marquee — ported from the page-scoped
   <style> in src/_fragments/sobre-content.html ("BUG 8"). */
.mini-team-marquee{
  position:relative; overflow:hidden;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.mini-team-marquee .mt-track{
  display:flex; gap:0;
  width:max-content;
  animation:mt-scroll 60s linear infinite;
  will-change:transform;
}
.mini-team-marquee:hover .mt-track{ animation-play-state:paused; }
@keyframes mt-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.mini-team-marquee .mt-tile{
  flex:0 0 auto;
  width:148px; height:148px;
  overflow:hidden; border-right:1px solid var(--line);
  background:#0a0c0b;
  transition:filter .4s;
}
.mini-team-marquee .mt-tile img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.4) saturate(.85);
  transition:filter .4s, transform .5s;
}
.mini-team-marquee .mt-tile:hover img{ filter:none; transform:scale(1.05); }
@media (width<=900px){
  .mini-team-marquee .mt-tile{ width:120px; height:120px; }
}
.mini-team-foot{
  margin-top:18px; text-align:right;
}
.mini-team-foot a{
  font-family:var(--mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--accent);
}
.mini-team-foot a:hover{ text-decoration:underline; }

/* ── Premiações grid w/ tooltip ─────────────────────────────── */
.prem-wrap{
  display:grid; grid-template-columns:280px 1fr;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
/* prem-wrap-wide — wider, green Premiações title column (ported from
   sobre-content.html page-scoped <style>, "BUG 11"). */
.prem-wrap.prem-wrap-wide{ grid-template-columns:380px 1fr; }
.prem-wrap.prem-wrap-wide .prem-title h2{
  font-size:clamp(36px,3.4vw,52px); line-height:.95;
  color:var(--accent);
}
.prem-wrap.prem-wrap-wide .prem-title h2 em{ font-style:normal; color:inherit; }
@media (width<=900px){ .prem-wrap.prem-wrap-wide{ grid-template-columns:1fr; } }
.prem-title{
  padding:48px 32px;
  border-right:1px solid var(--line);
  display:flex; flex-direction:column; justify-content:space-between;
  background-image:url(fundos/fundo_floresta_04.jpg);
  background-size:cover; background-position:50%;
  position:relative;
}
.prem-title:after{
  content:""; position:absolute; inset:0; background:rgba(2,3,3,.78); z-index:1;
}
.prem-title>*{ position:relative; z-index:2; }
.prem-title h2{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(32px,3vw,44px); line-height:1; color:var(--text);
}
.prem-grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:0;
}
.prem-cell{
  aspect-ratio:5/4;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; padding:18px;
  position:relative; cursor:default;
  transition:background .3s;
}
.prem-cell:hover{ background:var(--bg-cell-hover); }
.prem-cell img{
  max-width:75%; max-height:62%; object-fit:contain;
  filter:saturate(.85);
  transition:filter .3s, transform .3s;
}
.prem-cell:hover img{ filter:saturate(1.1); transform:scale(1.05); }
.prem-tooltip{
  position:absolute; left:50%; bottom:100%;
  transform:translate(-50%, -8px);
  background:#0a0d0b; border:1px solid var(--accent-soft);
  padding:14px 16px; min-width:240px; max-width:300px;
  opacity:0; pointer-events:none;
  transition:opacity .25s, transform .25s;
  z-index:20;
}
.prem-cell:hover .prem-tooltip{ opacity:1; transform:translate(-50%,-12px); }
.prem-tooltip .pt-project{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--accent); margin-bottom:6px;
}
.prem-tooltip .pt-name{
  font-family:var(--display); font-weight:700; font-size:14px; color:var(--text); margin-bottom:6px;
}
.prem-tooltip .pt-desc{ font-size:12px; color:var(--text-dim); line-height:1.45; }
@media (width<=900px){
  .prem-wrap{ grid-template-columns:1fr; }
  .prem-title{ border-right:none; border-bottom:1px solid var(--line); }
  .prem-grid{ grid-template-columns:repeat(3,1fr); }
}

/* ── Sony banner section ───────────────────────────────────── */
.sony-banner{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:5fr 3fr;
  align-items:center;
  border-bottom:1px solid var(--line);
  min-height:340px;
}
.sony-banner .sony-bg{
  position:absolute; inset:0; z-index:0;
  background-image:url(fundos/fundo_floresta_05.png);
  background-size:cover; background-position:50%;
  opacity:.55; transition:opacity .5s;
}
.sony-banner:hover .sony-bg{ opacity:.78; }
.sony-banner:after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(2,3,3,.92) 0%, rgba(2,3,3,.55) 70%, rgba(2,3,3,.2) 100%);
}
.sony-banner>*{ position:relative; z-index:2; }
.sony-banner .sb-copy{ padding:60px 48px; }
.sony-banner .sb-copy h3{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(24px,2.4vw,38px); line-height:1.1; color:var(--text); max-width:18ch;
  margin-bottom:24px;
}
.sony-banner .sb-cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 24px; border:1px solid var(--accent);
  font-family:var(--mono); font-size:11px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--accent); border-radius:999px;
  transition:background .3s, color .3s;
}
.sony-banner .sb-cta:hover{ background:var(--accent); color:#000; }
.sony-banner .sb-logo{ padding:48px; display:flex; justify-content:flex-end; }
.sony-banner .sb-logo img{ width:min(180px,40%); filter:brightness(0) invert(1); }

/* ── Filter Bar (Produções) ─────────────────────────────────── */
.filter-bar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; gap:14px;
  padding:18px 48px;
  border-bottom:1px solid var(--line);
  background:rgba(2,3,3,.92); backdrop-filter:blur(8px);
}
.filter-bar .lbl{
  font-family:var(--mono); font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--text-mute);
}
.filter-bar .filters{ display:flex; gap:8px; flex-wrap:wrap; }
.filter-bar .filter{
  padding:8px 16px; border-radius:999px;
  border:1px solid var(--line);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--text-dim);
  transition:all .3s;
  cursor:pointer;
}
.filter-bar .filter:hover{ color:var(--text); border-color:var(--accent-soft); }
.filter-bar .filter.active{ background:var(--accent); color:#0a1a02; border-color:var(--accent); }
.filter-bar .filter.leaf{
  color:var(--accent); border-color:var(--accent-soft);
  box-shadow:0 0 18px var(--accent-glow);
}
.filter-bar .filter.leaf.active{ background:var(--accent); color:#0a1a02; }

/* ── Project Row (Produções 2/3 + 1/3) ──────────────────────── */
.project-row{
  display:grid; grid-template-columns:2fr 1fr;
  border-bottom:1px solid var(--line);
  min-height:520px;
}
.project-row.flip{ grid-template-columns:1fr 2fr; }
.project-row.flip .pr-visual{ order:2; border-left:1px solid var(--line); border-right:none; }
.project-row.flip .pr-text{ order:1; }
.project-row .pr-visual{
  position:relative; overflow:hidden;
  border-right:1px solid var(--line);
  background:#0a0c0b;
  cursor:pointer;
}
.project-row .pr-visual img, .project-row .pr-visual video{
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s ease, filter .3s ease;
  filter:saturate(.92);
}
.project-row .pr-visual:hover img, .project-row .pr-visual:hover video{ transform:scale(1.04); filter:saturate(1.05); }
.project-row .pr-text{
  padding:60px 48px;
  display:flex; flex-direction:column; justify-content:center;
}
.project-row .pr-text .kicker{
  font-family:var(--mono); font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px;
}
.project-row .pr-text h3{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(28px,2.8vw,46px); line-height:1; color:var(--text);
  margin-bottom:16px;
}
.project-row .pr-text h3 em{ font-style:normal; color:var(--accent); }
.project-row .pr-text .partner{
  font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--text-dim); margin-bottom:18px;
}
.project-row .pr-text .tags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.project-row .pr-text .tags span{
  padding:4px 10px; border:1px solid var(--line); border-radius:999px;
  font-family:var(--mono); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-dim);
}
.project-row .pr-text .desc{ color:var(--text-dim); font-size:14.5px; line-height:1.55; max-width:48ch; }
@media (width<=900px){
  .project-row, .project-row.flip{ grid-template-columns:1fr; }
  .project-row .pr-visual, .project-row.flip .pr-visual{ order:1; aspect-ratio:16/10; border-right:none; border-left:none; border-bottom:1px solid var(--line); }
  .project-row .pr-text, .project-row.flip .pr-text{ order:2; padding:36px 24px; }
}

/* "Ver mais" centered button */
.ver-mais-wrap{
  display:flex; justify-content:center; padding:60px 48px;
  border-bottom:1px solid var(--line);
}
.ver-mais-btn{
  display:inline-flex; align-items:center; gap:12px;
  padding:18px 32px; border:1px solid var(--accent);
  font-family:var(--mono); font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); border-radius:999px;
  transition:background .3s, color .3s, transform .3s;
  cursor:pointer;
}
.ver-mais-btn:hover{ background:var(--accent); color:#0a1a02; transform:translateY(-2px); }

/* ── Project page (individual) ──────────────────────────────── */
.project-hero{
  position:relative; overflow:hidden;
  height:78vh; min-height:520px;
  display:flex; align-items:flex-end;
  border-bottom:1px solid var(--line);
}
.project-hero video, .project-hero img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
}
.project-hero:after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, transparent 30%, rgba(2,3,3,.85) 95%);
}
.project-hero .play-overlay{
  position:absolute; inset:0; z-index:2;
  display:flex; align-items:center; justify-content:center;
}
.project-hero .play-overlay button{
  width:88px; height:88px; border-radius:50%;
  background:rgba(0,0,0,.5); border:2px solid var(--accent);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background .3s, transform .3s;
}
.project-hero .play-overlay button:hover{ background:var(--accent); transform:scale(1.06); }
.project-hero .play-overlay button:before{
  content:""; width:0; height:0;
  border:18px solid transparent; border-left-color:var(--accent);
  border-right-width:0; margin-left:6px;
  transition:border-color .3s;
}
.project-hero .play-overlay button:hover:before{ border-left-color:#0a1a02; }
.project-hero.playing .play-overlay{ display:none; }

.project-info{
  display:grid; grid-template-columns:240px 1fr 280px;
  border-bottom:1px solid var(--line);
}
.project-info .poster{
  border-right:1px solid var(--line);
  padding:36px;
  background:#0a0c0b;
}
.project-info .poster img{ width:100%; aspect-ratio:2/3; object-fit:cover; }
.project-info .copy{
  padding:48px 40px;
}
.project-info .copy .kicker{
  font-family:var(--mono); font-size:10px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--accent); margin-bottom:14px;
}
.project-info .copy h1{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(36px,5vw,76px); line-height:.96;
  margin-bottom:18px;
}
.project-info .copy h1 em{ font-style:normal; color:var(--accent); }
.project-info .copy .tag-row{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px; }
.project-info .copy .tag-row span{
  padding:5px 12px; border:1px solid var(--line); border-radius:999px;
  font-family:var(--mono); font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--text-dim);
}
.project-info .copy .desc{ color:var(--text-dim); font-size:15px; line-height:1.6; max-width:55ch; }
.project-info .meta{
  padding:48px 36px;
  background-image:url(fundos/fundo_floresta_02.jpg); background-size:cover; background-position:50%;
  position:relative;
  border-left:1px solid var(--line);
}
.project-info .meta:after{
  content:""; position:absolute; inset:0; background:rgba(2,3,3,.78); z-index:0;
}
.project-info .meta>*{ position:relative; z-index:1; }
.project-info .meta .meta-row{
  border-bottom:1px solid var(--line);
  padding:14px 0;
}
.project-info .meta .meta-row:last-child{ border-bottom:none; }
.project-info .meta .meta-row .lbl{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); margin-bottom:4px;
}
.project-info .meta .meta-row .val{
  font-family:var(--display); font-weight:700; color:var(--text); font-size:15px;
}
@media (width<=900px){
  .project-info{ grid-template-columns:1fr; }
  .project-info .poster, .project-info .copy, .project-info .meta{ border-left:none; border-right:none; border-bottom:1px solid var(--line); }
}

/* ── Reels grid ─────────────────────────────────────────────── */
.reels-page{ padding-top:0; }
.reels-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  padding:1px 0;
  border-bottom:1px solid var(--line);
}
.reels-grid.cnt-3{ grid-template-columns:repeat(3,1fr); }
.reels-grid.cnt-5{ grid-template-columns:repeat(5,1fr); }
.reels-grid.cnt-2{ grid-template-columns:repeat(2,1fr); }
.reels-grid.cnt-1{ grid-template-columns:1fr; }
.reel-card{
  position:relative; overflow:hidden;
  background:#000;
  cursor:pointer;
  aspect-ratio: 9 / 16;
}
.reel-card .poster, .reel-card video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.reel-card .poster{
  z-index:1;
  transition:opacity .4s, filter .4s;
  filter:brightness(.45) saturate(.85);
}
.reel-card video{ z-index:0; }
.reel-card:hover .poster{ filter:brightness(.7) saturate(.95); }
.reel-card.playing .poster{ opacity:0; pointer-events:none; }
/* Dim overlay para reforçar o estado apagado por padrão */
.reel-card:before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.55) 75%, rgba(0,0,0,.85) 100%);
  transition:opacity .4s;
}
.reel-card:hover:before{ opacity:.55; }
.reel-card.playing:before{ opacity:0; }
.reel-card .reel-controls{
  position:absolute; left:0; right:0; bottom:0; z-index:5;
  padding:18px 18px;
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:12px;
}
.reel-card .reel-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:6;
  width:56px; height:56px; border-radius:50%;
  background:rgba(0,0,0,.55); border:2px solid var(--accent);
  display:flex; align-items:center; justify-content:center;
  transition:background .3s, transform .3s, opacity .3s;
  opacity:.85;
}
.reel-card:hover .reel-play{ opacity:1; }
.reel-card.playing .reel-play{ opacity:0; pointer-events:none; }
.reel-card .reel-play:before{
  content:""; width:0; height:0;
  border:12px solid transparent; border-left-color:var(--accent); border-right-width:0;
  margin-left:4px;
}
.reel-card .reel-play:hover{ background:var(--accent); transform:translate(-50%,-50%) scale(1.06); }
.reel-card .reel-play:hover:before{ border-left-color:#0a1a02; }
/* Título em destaque no estado apagado */
.reel-card .reel-title{
  font-family:var(--display); font-weight:800;
  font-size:clamp(15px, 1.25vw, 19px);
  line-height:1.1; letter-spacing:.01em; text-transform:uppercase;
  color:var(--text);
  text-shadow:0 2px 14px rgba(0,0,0,.7);
  transition:opacity .35s, transform .35s;
  flex:1;
}
.reel-card.playing .reel-title{ opacity:0; transform:translateY(8px); }
.reel-card .reel-fs{
  width:34px; height:34px; border-radius:8px;
  background:rgba(0,0,0,.6); border:1px solid var(--accent-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--accent); font-size:14px;
  transition:background .3s, color .3s, opacity .3s;
  z-index:7; position:relative;
  opacity:.8;
  flex-shrink:0;
}
.reel-card:hover .reel-fs{ opacity:1; }
.reel-card .reel-fs:hover{ background:var(--accent); color:#0a1a02; }
@media (width<=900px){
  .reels-grid, .reels-grid.cnt-4, .reels-grid.cnt-5, .reels-grid.cnt-3{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (width<=520px){
  .reels-grid, .reels-grid.cnt-4, .reels-grid.cnt-5, .reels-grid.cnt-3, .reels-grid.cnt-2{
    grid-template-columns:1fr;
  }
}

/* ── CTA Big (Participe) ────────────────────────────────────── */
.cta-big{
  display:block; width:fit-content; margin:48px auto 0;
  padding:36px 56px;
  border:1.5px solid var(--accent);
  text-align:center;
  transition:background .35s, color .35s, transform .35s, box-shadow .35s;
  cursor:pointer;
  border-radius:6px;
}
.cta-big .cb-main{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(20px,2vw,30px); letter-spacing:.04em;
  color:var(--text); margin-bottom:8px;
}
.cta-big .cb-sub{
  font-family:var(--mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--text-dim);
}
.cta-big:hover{
  background:var(--accent);
  transform:translateY(-3px);
  box-shadow:0 12px 40px var(--accent-glow);
}
.cta-big:hover .cb-main, .cta-big:hover .cb-sub{ color:#0a1a02; }

/* ── ESG seed cards ─────────────────────────────────────────── */
.seeds-wrap{
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.seed-card{
  position:relative; overflow:hidden;
  aspect-ratio:3/4;
  border-right:1px solid var(--line);
  cursor:pointer;
}
.seed-card:last-child{ border-right:none; }
.seed-card img{ width:100%; height:100%; object-fit:cover; transition:transform .8s, filter .4s; filter:saturate(.85) brightness(.8); }
.seed-card:hover img{ transform:scale(1.06); filter:saturate(1.05) brightness(1); }
.seed-card:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.85) 100%);
}
.seed-card .seed-label{
  position:absolute; left:24px; right:24px; bottom:24px; z-index:2;
}
.seed-card .seed-label .kicker{
  font-family:var(--mono); font-size:10px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--accent); margin-bottom:8px;
}
.seed-card .seed-label .name{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(28px,2.6vw,40px); line-height:1; color:var(--text);
}
@media (width<=900px){
  .seeds-wrap{ grid-template-columns:1fr; }
  .seed-card{ border-right:none; border-bottom:1px solid var(--line); }
}

/* ── ESG selos (sub-page) ───────────────────────────────────── */
.selos-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:0;
  border-top:1px solid var(--line);
}
.selos-grid .selo{
  aspect-ratio:1/1; padding:22px;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
}
.selos-grid .selo img{ max-width:80%; max-height:65%; object-fit:contain; filter:saturate(.9); }
.selos-grid .selo .cap{
  margin-top:14px;
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-dim);
}

/* ── ESG Educa "Conheça as jovens" people grid ─────────────── */
.educa-people{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border-top:1px solid var(--line);
}
.educa-people .ep{
  aspect-ratio:1/1; overflow:hidden;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  position:relative;
  background-image:url(fundos/fundo_floresta_06.jpg); background-size:cover;
}
.educa-people .ep:after{ content:""; position:absolute; inset:0; background:rgba(40,80,40,.55); }
.educa-people .ep img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  border-radius:50%; transform:scale(.78);
  filter:hue-rotate(40deg) saturate(.4);
  z-index:2;
}
.educa-people .ep .ep-name{
  position:absolute; left:10px; right:10px; bottom:14px; z-index:3;
  font-family:var(--mono); font-size:12px; letter-spacing:.12em;
  color:var(--text); text-align:center;
}
.educa-people .ep .ep-placeholder{
  position:absolute; left:50%; top:46%; transform:translate(-50%,-50%);
  width:55%; aspect-ratio:1/1;
  border-radius:50%;
  background:rgba(0,0,0,.35);
  border:1px solid var(--accent-soft, rgba(197,230,58,.35));
  display:flex; align-items:center; justify-content:center;
  color:var(--accent);
  z-index:2;
  opacity:.55;
}
.educa-people .ep .ep-placeholder svg{ width:55%; height:55%; }
@media (width<=900px){ .educa-people{ grid-template-columns:repeat(2,1fr); } }

/* ── 6-col team grid + category title ───────────────────────── */
.team-cat-title{
  padding:64px 48px 24px;
  font-family:var(--display); font-weight:800;
  font-size:clamp(28px,3.4vw,46px);
  letter-spacing:.02em; text-transform:uppercase;
  line-height:1;
  color:var(--accent);
  display:flex; align-items:center; gap:22px;
}
.team-cat-title:before{
  content:""; width:64px; height:2px; background:currentColor;
}
.team-grid-6{
  display:grid; grid-template-columns:repeat(6,1fr); gap:0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.team-grid-6 .team-card{
  border-right:1px solid var(--line); border-bottom:none;
  padding:0;
}
.team-grid-6 .team-card:nth-child(6n){ border-right:none; }
@media (width<=900px){
  .team-grid-6{ grid-template-columns:repeat(3,1fr); }
  .team-grid-6 .team-card:nth-child(6n){ border-right:1px solid var(--line); }
  .team-grid-6 .team-card:nth-child(3n){ border-right:none; }
}
/* Step 12b — pending talento card + empty category message */
.team-card.pending{ opacity:.62; }
.team-card.pending:hover{ opacity:.82; }
.photo-placeholder{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%;
  background:radial-gradient(at 50% 32%,#2a2a2a,#000 70%);
  font-family:var(--mono); font-size:11px; letter-spacing:.26em;
  color:#5a5a5a; text-transform:uppercase;
}
.team-empty{
  padding:24px 48px 56px;
  font-family:var(--mono); font-size:12px; letter-spacing:.16em;
  color:#6a6a6a; text-transform:uppercase;
}

/* ── Splash gate transition for body ────────────────────────── */
body.gated{ overflow:hidden; }

/* ── Hero text — Floresta image 2x (alinhada à esquerda) ─────── */
.cell.hero-text .hero-brand-img{
  display:block; margin:0 0 12px;
  width:min(90%, 240px); /* 2x do logo original (~110px) */
}
/* (Mantém esquerda/topo, sem centralizar) */


/* ═══════════════════════════════════════════════════════════════
   PROJECT PAGE (05.2 — modelo de projeto)
   ═══════════════════════════════════════════════════════════════ */

/* Hero: vídeo full-bleed (override do .page-hero.bg-video p/ project) */
.page-hero.project-hero{
  min-height:78vh;
}
.page-hero.project-hero .bgv video{ opacity:.55; }
.page-hero.project-hero .bgv:after{
  background:linear-gradient(180deg, rgba(2,3,3,.15) 0%, rgba(2,3,3,.75) 70%, rgba(2,3,3,.95) 100%);
}
.page-hero.project-hero h1{
  font-size:clamp(34px,4.6vw,72px);
  max-width:20ch;
}

/* Sinopse: poster vertical no lugar da photo wide */
.project-synopsis .text-photo{
  grid-template-columns:5fr 3fr;
  align-items:start;
}
.project-synopsis .project-poster{
  aspect-ratio:2/3;
  max-width:440px; justify-self:end;
  border:1px solid var(--line);
}
.project-synopsis .project-poster img{
  width:100%; height:100%; object-fit:cover;
}
@media (width<=900px){
  .project-synopsis .text-photo{ grid-template-columns:1fr; }
  .project-synopsis .project-poster{ justify-self:stretch; max-width:none; aspect-ratio:3/4; }
}

/* Ficha técnica — grid editorial 3x2 */
.project-meta{ padding-top:0; }
.project-meta-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.project-meta-grid .meta-cell{
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:32px 28px;
  min-height:140px;
  display:flex; flex-direction:column; justify-content:space-between;
  gap:18px;
  background:#050605;
  transition:background .25s;
}
.project-meta-grid .meta-cell:hover{ background:#080a09; }
.project-meta-grid .meta-lbl{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--accent);
  display:flex; align-items:center; gap:12px;
}
.project-meta-grid .meta-lbl:before{
  content:""; width:24px; height:1px; background:currentColor;
}
.project-meta-grid .meta-val{
  font-family:var(--display); font-weight:800;
  font-size:clamp(22px,2.2vw,34px); line-height:1; text-transform:uppercase;
  letter-spacing:-.005em; color:var(--text);
}
.project-meta-grid .meta-val em{ font-style:normal; color:var(--accent); }
.project-meta-grid .meta-sub{
  font-family:var(--mono); font-size:13px; letter-spacing:.16em;
  color:var(--text-dim); margin-left:10px; font-weight:400;
}
.project-meta-grid .meta-cell-logo .meta-logo{
  display:flex; align-items:center; height:42px;
}
.project-meta-grid .meta-cell-logo .meta-logo img{
  height:100%; width:auto; max-width:180px; object-fit:contain;
  filter:brightness(0) invert(1); opacity:.92;
}
@media (width<=900px){
  .project-meta-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (width<=600px){
  .project-meta-grid{ grid-template-columns:1fr; }
}

/* Section header (título + ver tudo à direita) */
.section-header-row{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; margin-bottom:32px;
}
.section-header-row h2{ margin-bottom:0; }
.section-cta{
  font-family:var(--mono); font-size:11px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--text);
  text-decoration:none; padding-bottom:6px;
  border-bottom:1px solid var(--accent);
  display:inline-flex; align-items:center; gap:10px;
  transition:color .25s, gap .25s;
}
.section-cta:hover{ color:var(--accent); gap:16px; }
.section-cta .arr{ color:var(--accent); }

/* Galeria 4-col, fotos escurecidas, revela no hover */
.project-gallery{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.project-gallery .gallery-cell{
  position:relative; overflow:hidden;
  aspect-ratio:4/3;
  border:1px solid var(--line);
  background:#0a0c0b; padding:0; cursor:pointer;
  appearance:none; -webkit-appearance:none;
}
.project-gallery .gallery-cell img{
  width:100%; height:100%; object-fit:cover;
  filter:brightness(.32) saturate(.6);
  transform:scale(1.02);
  transition:filter .45s ease, transform .8s ease;
}
.project-gallery .gallery-cell:hover img,
.project-gallery .gallery-cell:focus-visible img{
  filter:brightness(1) saturate(1.05);
  transform:scale(1.0);
}
.project-gallery .gallery-cell:after{
  content:"+"; position:absolute; top:14px; right:16px;
  font-family:var(--mono); font-size:22px; line-height:1; color:var(--accent);
  opacity:0; transition:opacity .35s;
  pointer-events:none;
}
.project-gallery .gallery-cell:hover:after{ opacity:1; }
@media (width<=900px){ .project-gallery{ grid-template-columns:repeat(2,1fr); } }
@media (width<=500px){ .project-gallery{ grid-template-columns:1fr; } }

/* Lightbox fullscreen */
.gallery-lightbox{
  /* S6: dropped from 99990 to 1100 so it sits just above member-modal (1000). */
  position:fixed; inset:0; z-index:1100;
  background:rgba(2,3,3,.96);
  display:flex; align-items:center; justify-content:center;
  padding:40px;
}
.gallery-lightbox[hidden]{ display:none; }
.gallery-lightbox img{
  max-width:100%; max-height:100%; width:auto; height:auto;
  object-fit:contain; border:1px solid var(--accent-soft);
  pointer-events:auto;
}
.gallery-close{
  position:absolute; top:24px; right:28px;
  width:48px; height:48px; border-radius:999px;
  background:rgba(0,0,0,.6); border:1px solid var(--accent);
  color:var(--text); font-size:28px; line-height:1;
  cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center;
  transition:background .25s, color .25s, transform .25s;
}
.gallery-close:hover{ background:var(--accent); color:#000; transform:scale(1.08); }

/* Outras Produções: ajusta padding inferior */
.project-related{ padding-bottom:120px; }
.project-related .h-carousel{ margin-top:18px; }

/* ─────────────────────────────────────────────────────────────
   NOVIDADES — fixes 2026-05-19
   ───────────────────────────────────────────────────────────── */

/* Bug #2 — h1 do hero da Novidades um pouco menor que o padrão page-hero */
.page-hero-novidades h1{
  font-size:clamp(24px,2.8vw,44px);
  max-width:24ch;
}

/* Bug #5/#6 — split: featured esquerda + próximas direita */
.news-top-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.news-top-split .news-featured{
  border-top:none; border-bottom:none;
  border-right:1px solid var(--line);
  margin-bottom:0;
}
/* Bug #5 — contorno leaf no destaque */
.news-featured-outlined{
  position:relative;
  outline:2px solid var(--accent);
  outline-offset:-2px;
  box-shadow:inset 0 0 0 1px var(--accent-glow);
}
.news-featured-outlined .body .kicker{ color:var(--accent); }
.news-featured-outlined .body .kicker:before{ background:var(--accent); }

/* Bug #6 — altura da imagem nunca passa de 1/2 da altura da viewport */
.news-top-split .news-featured .thumb{
  aspect-ratio:auto;
  max-height:50vh;
  height:50vh;
}
.news-top-split .news-featured .thumb img{
  width:100%; height:100%; object-fit:cover;
}

/* Coluna direita — próximas notícias compactas */
.news-next{
  display:grid;
  grid-template-rows:repeat(4,1fr);
}
.news-next-item{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:18px;
  padding:18px 24px;
  border-bottom:1px solid var(--line);
  align-items:center;
  cursor:pointer;
  transition:background .3s;
}
.news-next-item:last-child{ border-bottom:none; }
.news-next-item:hover{ background:var(--bg-cell-hover); }
.news-next-item .thumb{
  width:100%; aspect-ratio:4/3;
  overflow:hidden; position:relative; background:#0a0c0b;
}
.news-next-item .thumb img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.85) brightness(.85);
  transition:transform .6s ease, filter .4s;
}
.news-next-item:hover .thumb img{
  filter:saturate(1) brightness(1);
  transform:scale(1.05);
}
.news-next-item .body{
  display:flex; flex-direction:column; gap:8px;
}
.news-next-item .body .date{
  font-family:var(--mono); font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--text-mute);
}
.news-next-item .body .head{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(13px,.95vw,16px); line-height:1.3;
  color:var(--text); letter-spacing:-.005em;
}

@media (width<=900px){
  .news-top-split{ grid-template-columns:1fr; }
  .news-top-split .news-featured{ border-right:none; border-bottom:1px solid var(--line); }
  .news-top-split .news-featured .thumb{ height:auto; aspect-ratio:16/9; }
}

/* Bug #7 — hidden attribute deve sobrepor o display:grid de .news-row */
.news-row[hidden]{ display:none !important; }

/* Bug #7 — botão "Mostrar mais" centralizado + espaço pequeno até o footer */
.news-load-more-wrap{
  display:flex; justify-content:center;
  padding:48px 24px 64px;
}
.news-load-more{
  appearance:none; background:transparent;
  color:var(--text);
  border:1px solid var(--accent);
  padding:14px 36px;
  font-family:var(--mono); font-size:11px;
  letter-spacing:.28em; text-transform:uppercase;
  cursor:pointer;
  transition:background .25s, color .25s, transform .25s;
}
.news-load-more:hover{
  background:var(--accent); color:#000;
}
.news-load-more[disabled]{
  opacity:.35; cursor:default;
  border-color:var(--line); color:var(--text-mute);
  background:transparent;
}

/* ═══════════════ SINGLE PRODUÇÃO (Step 13) ═══════════════ */
.single-producao{ background:#000; }

/* Hero */
.prod-hero{ position:relative; min-height:62vh; display:flex; align-items:flex-end;
  border-bottom:1px solid var(--line); overflow:hidden; }
.prod-hero-bg{ position:absolute; inset:0; background-size:cover; background-position:50% 38%;
  opacity:.5; }
.prod-hero:after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.92) 100%); }
.prod-hero-inner{ position:relative; z-index:2; display:flex; gap:40px;
  align-items:flex-end; padding:48px; width:100%; }
.prod-hero-poster{ width:230px; flex:0 0 230px; aspect-ratio:2/3; object-fit:cover;
  border:1px solid var(--line); }
.prod-hero-text{ flex:1; }
.prod-hero-text h1{ font-family:var(--display); font-weight:800;
  font-size:clamp(2rem,5vw,4.2rem); line-height:.98; margin:10px 0 0; }
.prod-hero-text .tagline{ font-family:var(--sans); font-size:15px;
  color:var(--text-mute); margin:14px 0 0; max-width:60ch; }
.prod-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.prod-chips .chip{ font-family:var(--mono); font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; padding:7px 13px; border:1px solid var(--line);
  border-radius:999px; color:var(--text-mute); }
.prod-chips a.chip.emissora{ color:var(--accent); border-color:var(--accent);
  text-decoration:none; transition:background .2s,color .2s; }
.prod-chips a.chip.emissora:hover{ background:var(--accent); color:#0a1a02; }

/* Promo video */
.prod-promo{ padding:48px; }
.prod-promo-wrap{ position:relative; padding-top:56.25%; border:1px solid var(--line); }
.prod-promo-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Meta strip */
.prod-meta-strip{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.prod-meta-inner{ display:flex; flex-wrap:wrap; gap:0; }
.prod-meta-strip .meta{ flex:1 1 200px; padding:24px 32px;
  border-right:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.prod-meta-strip .meta:last-child{ border-right:none; }
.prod-meta-strip .meta .lbl{ font-family:var(--mono); font-size:10px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--text-mute); }
.prod-meta-strip .meta .val{ font-family:var(--sans); font-size:15px; color:#fff; }

/* Temporadas */
.temporadas-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  margin-top:24px; }
.temporada-card{ border:1px solid var(--line); padding:20px;
  display:flex; flex-direction:column; gap:6px; }
.temporada-card .t-ano{ font-family:var(--display); font-weight:800; font-size:26px;
  color:var(--accent); }
.temporada-card .t-temp{ font-family:var(--sans); font-size:14px; color:#fff; }
.temporada-card .t-eps{ font-family:var(--mono); font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--text-mute); }

/* Galeria */
.prod-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:10px; margin-top:24px; }
.prod-gallery .g-tile{ display:block; aspect-ratio:16/10; overflow:hidden;
  border:1px solid var(--line); }
.prod-gallery .g-tile img{ width:100%; height:100%; object-fit:cover;
  transition:transform .5s; }
.prod-gallery .g-tile:hover img{ transform:scale(1.05); }

/* Conteúdo flexível extras */
.prod-extras{ display:grid; grid-template-columns:repeat(auto-fill,minmax(380px,1fr));
  gap:16px; margin-top:24px; }
.prod-extras .extra-vid{ position:relative; padding-top:56.25%;
  border:1px solid var(--line); }
.prod-extras .extra-vid iframe{ position:absolute; inset:0; width:100%; height:100%;
  border:0; }

/* Related */
.related-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:0;
  border-top:1px solid var(--line); margin-top:24px; }
.related-card{ display:block; border-right:1px solid var(--line);
  border-bottom:1px solid var(--line); text-decoration:none; }
.related-card:nth-child(6n){ border-right:none; }
.related-card img{ width:100%; aspect-ratio:2/3; object-fit:cover; display:block; }
.related-card .r-title{ padding:12px; font-family:var(--sans); font-size:13px;
  color:#fff; }
.related-card:hover .r-title{ color:var(--accent); }

@media (width<=900px){
  .prod-hero-inner{ flex-direction:column; align-items:flex-start; padding:32px; gap:24px; }
  .prod-hero-poster{ width:160px; flex-basis:160px; }
  .prod-promo,.prod-hero-inner{ padding:24px; }
  .temporadas-grid{ grid-template-columns:repeat(2,1fr); }
  .related-grid{ grid-template-columns:repeat(3,1fr); }
  .related-card:nth-child(6n){ border-right:1px solid var(--line); }
  .related-card:nth-child(3n){ border-right:none; }
  .prod-meta-strip .meta{ flex-basis:100%; border-right:none;
    border-bottom:1px solid var(--line); }
}

/* ════════════════════════════════════════════════════════════════
 * S4: Tablet bridge (700-1099px)
 * Catches the gap between desktop and the existing <=900px collapses.
 * Hard-snapping from 6-col to 1-col at 900 was leaving 901-1099px (iPad
 * portrait, narrow laptops) with overflowing fixed-width layouts.
 * Selectors targeted match the audit list verbatim.
 * ════════════════════════════════════════════════════════════════ */
@media (width<=1099px) and (width>900px) {
  /* 2-col content layouts */
  .text-photo { grid-template-columns:1fr; gap:32px; }
  .text-photo .photo { aspect-ratio:16/9; }
  .seeds-wrap { grid-template-columns:repeat(2,1fr); }
  .prem-grid { grid-template-columns:repeat(2,1fr); }

  /* 6-col grids down to 3-col */
  .team-grid-6 { grid-template-columns:repeat(3,1fr); }
  .related-grid { grid-template-columns:repeat(3,1fr); }

  /* 4-col grids down to 3-col */
  .project-gallery { grid-template-columns:repeat(3,1fr); }
  .educa-people { grid-template-columns:repeat(3,1fr); }
  .temporadas-grid { grid-template-columns:repeat(3,1fr); }

  /* Single produção page: stack poster + copy + meta vertically */
  .project-info {
    grid-template-columns:1fr;
    gap:24px;
  }
  .project-info .poster { max-width:320px; margin:0 auto; }

  /* Producoes archive: rows can stay 2-col-ish (visual/text)
   * but headline-only rows already collapse fine. No change needed. */

  /* News archive: rows narrow well, but the inline grid-template
   * on the row (140px 200px 1fr) can push body text too tight; let body wrap. */
  .archive-novidade .news-row { grid-template-columns: 120px 160px 1fr !important; }
  .archive-novidade .news-row .thumb { min-height:120px; height:120px; max-height:120px; }
}
