/* ==========================================================================
   COCAIS FILMES — estilos globais
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@400;500;600;700;800;900&family=Caveat:wght@500;600;700&display=swap');

:root{
  --black:        #0b0c0a;
  --near-black:   #101210;
  --dark-green:   #14231a;
  --green-mid:    #1c2f22;
  --cream:        #f3ede1;
  --cream-2:      #ece3d1;
  --cream-btn:    #eee0bd;
  --red:          #9c2c1f;
  --red-2:        #83251a;
  --text-light:   #f6f3ec;
  --text-muted:   #b9b6ac;
  --text-muted-2: #8a887f;
  --text-dark:    #201f1a;
  --text-dark-2:  #4a473e;
  --accent-red:   #a5372a;
  --line-light:   rgba(246,243,236,0.25);
  --line-dark:    rgba(32,31,26,0.18);

  --font-serif:  'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-sans:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-script: 'Caveat', cursive;

  --container: 1320px;
}

*, *::before, *::after{ box-sizing: border-box; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--font-sans);
  background: var(--black);
  color: var(--text-light);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg{ display:block; max-width:100%; }
a{ color: inherit; text-decoration: none; }
ul{ list-style: none; margin:0; padding:0; }
button{ font-family: inherit; cursor:pointer; }
.wrap{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 40px;
}
.eyebrow{
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.link-arrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
  white-space: nowrap;
}
.link-arrow svg{ width:14px; height:14px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 15px 26px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  border-radius:999px;
  border:1px solid transparent;
  transition: all .2s ease;
  white-space:nowrap;
}
.btn svg{ width:14px; height:14px; }
.btn-cream{ background: var(--cream-btn); color: var(--text-dark); }
.btn-cream:hover{ background:#fff; }
.btn-outline-light{ background:transparent; color: var(--text-light); border-color: rgba(246,243,236,0.55); }
.btn-outline-light:hover{ border-color:#fff; }
.btn-outline-dark{ background:transparent; color: var(--text-dark); border-color: rgba(32,31,26,0.4); }

/* ---------- Header ---------- */
.site-header{
  position: fixed; top:0; left:0; right:0; z-index: 100;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .3s ease, border-color .3s ease;
}
.site-header.scrolled{
  background: var(--dark-green);
  border-bottom-color: rgba(255,255,255,0.07);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:88px;
}
.logo{ display:flex; align-items:center; }
.logo-img{ height:36px; width:auto; display:block; }

.main-nav{ display:flex; align-items:center; gap:30px; }
.main-nav a{
  font-size:11.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color: var(--text-light); opacity:0.85; padding-bottom:6px; border-bottom:1px solid transparent;
  transition: opacity .15s ease;
}
.main-nav a:hover{ opacity:1; }
.main-nav a.active{ opacity:1; border-color: var(--text-light); }

.main-nav .nav-item{ position:relative; display:flex; align-items:center; }
.main-nav .nav-item > a{ display:flex; align-items:center; gap:5px; }
.submenu-caret{ display:none; }
.submenu-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  background:none; border:none; color:#fff; opacity:0.85; padding:6px; flex-shrink:0; cursor:pointer;
}
.submenu-toggle:hover{ opacity:1; }
.submenu-toggle svg{ width:12px; height:12px; transition: transform .2s ease; }
.submenu-toggle.open svg{ transform: rotate(180deg); }
.submenu{
  display:none;
  position:absolute; top:100%; left:0; margin-top:14px;
  background: var(--black); min-width:150px;
  border:1px solid rgba(255,255,255,0.1);
  padding:8px 0; z-index:20;
}
.submenu.open{ display:block; }
.submenu a{
  display:block; padding:10px 18px; font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color: var(--text-light); opacity:0.8; white-space:nowrap; border-bottom:none;
}
.submenu a:hover, .submenu a.active{ opacity:1; background:rgba(255,255,255,0.06); }
.site-header.scrolled .submenu{ background: var(--dark-green); }

.header-actions{ display:flex; align-items:center; gap:22px; }
.icon-btn{ width:18px; height:18px; color:var(--text-light); background:none; border:none; padding:0; }
.header-actions .btn{ padding:11px 22px; }
.nav-burger{ display:none; background:none; border:none; width:26px; height:20px; position:relative; z-index:110; flex-shrink:0; }
.nav-burger span{ position:absolute; left:0; right:0; height:2px; background:#fff; transition: transform .25s ease, opacity .2s ease, top .2s ease; }
.nav-burger span:nth-child(1){ top:0; }
.nav-burger span:nth-child(2){ top:9px; }
.nav-burger span:nth-child(3){ top:18px; }
.nav-burger.active span:nth-child(1){ top:9px; transform: rotate(45deg); }
.nav-burger.active span:nth-child(2){ opacity:0; }
.nav-burger.active span:nth-child(3){ top:9px; transform: rotate(-45deg); }

/* ---------- Footer ---------- */
.site-footer{ background: var(--black); border-top:1px solid rgba(255,255,255,0.08); padding: 34px 0; }
.site-footer .wrap{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; }
.footer-links{ display:flex; gap:26px; flex-wrap:wrap; }
.footer-links a{ font-size:11.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color: var(--text-muted); }
.footer-links a:hover{ color:#fff; }
.footer-right{ display:flex; align-items:center; gap:24px; }
.social-icons{ display:flex; gap:16px; }
.social-icons a{ width:18px; height:18px; color: var(--text-light); }
.lang-switch{ display:flex; gap:8px; font-size:11.5px; letter-spacing:0.08em; color: var(--text-muted); }
.lang-switch span:not(:last-child)::after{ content:'|'; margin-left:8px; color: var(--text-muted-2); }

/* ---------- Section helpers ---------- */
.section{ position: relative; }
.section-cream{ background: var(--cream); color: var(--text-dark); }
.section-dark{ background: var(--dark-green); color: var(--text-light); }

/* placeholder photo blocks (swap background-image for real assets) */
.ph{
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.ph-sunset-river{ background: url('../img/hero-novo.webp') center/cover no-repeat, linear-gradient(180deg, #1c2432 0%, #2e3a44 22%, #6a5c47 42%, #c98f4f 58%, #e7b979 68%, #24352c 78%, #101a15 100%); }
.ph-boy-pier{ background: url('../img/banner-filmes-topo.webp') center/cover no-repeat, linear-gradient(115deg, #14100d 0%, #2c211a 20%, #7a5a3d 42%, #d3a463 58%, #f1cf95 66%, #4d6a5a 78%, #1a2b22 100%); }
.ph-caldeirao{ background: url('../img/Card 1.webp') center/cover no-repeat, linear-gradient(160deg, #3a2f22 0%, #6d5738 45%, #a9855a 70%, #3f2f22 100%); }
.ph-aguas{ background: url('../img/Card2.webp') center/cover no-repeat, linear-gradient(180deg, #7bb6c9 0%, #a9d3d8 25%, #e8c990 45%, #5c7f6a 55%, #2c4a44 100%); }
.ph-treta{ background: url('../img/Card3.webp') center/cover no-repeat, linear-gradient(140deg, #1a2230 0%, #3c4a5c 35%, #8fa6ad 55%, #d9c79a 75%, #2b2318 100%); }
.ph-album{ background: url('../img/album-de-familia-carta-2.webp') center/cover no-repeat; }
.ph-caldeirao-poster{ background: url('../img/caldeirao-novo.webp') center/cover no-repeat; }
.ph-aguas-poster{ background: url('../img/aguas-que-curam.webp') center/cover no-repeat; }
.ph-tarrafa{ background: linear-gradient(180deg, #86b6d6 0%, #bcd8e6 28%, #cfe0b0 45%, #4f7d4a 60%, #2c4526 100%); }
.ph-entre-rios{ background: linear-gradient(180deg, #d99a52 0%, #e8bd7c 20%, #7d8f5c 45%, #2f4a3a 65%, #101d17 100%); }
.ph-treta-poster{ background: url('../img/A Treta.webp') center/cover no-repeat; }
.ph-mavus{ background: url('../img/Mavus.webp') center/cover no-repeat; }
.ph-tabajara{ background: url('../img/Tabajara.webp') center/cover no-repeat; }
.ph-boi-romeiro{ background: url('../img/boi-romeiro-poster.webp') center/cover no-repeat; }
.ph-cidade-entre-rios-poster{ background: url('../img/cidade-entre-rios.webp') center/cover no-repeat; }
.ph-tempo-de-pipa-poster{ background: url('../img/tempo-de-pipa.webp') center/cover no-repeat; }
.ph-album-carta1-poster{ background: url('../img/album-carta-1.webp') center/cover no-repeat; }
.ph-felicidade-poster{ background: url('../img/felicidade-no-olhar.webp') center/cover no-repeat; }
.ph-pier-poty-poster{ background: url('../img/pier-do-poty.webp') center/cover no-repeat; }
.ph-pranto-artista-poster{ background: url('../img/pranto-do-artista.webp') center/cover no-repeat; }
.ph-mulheres-visao-poster{ background: url('../img/mulheres-de-visao.webp') center/cover no-repeat; }
.ph-reacao-gueto-poster{ background: url('../img/reacao-do-gueto.webp') center/cover no-repeat; }
.ph-poster-placeholder{ background: linear-gradient(150deg, #2a241c 0%, #4d4230 35%, #7a6a48 60%, #4a5a44 80%, #1c261e 100%); }
.ph-devir-correntenza-poster{ background: url('../img/devir-correntenza.webp') center/cover no-repeat; }
.ph-entre-cruz-planta-poster{ background: url('../img/entre-a-cruz-e-a-planta.webp') center/cover no-repeat; }
.ph-memorias-metemos-poster{ background: url('../img/memorias-metemos-o-pe.webp') center/cover no-repeat; }
.ph-terra-nossa-poster{ background: url('../img/terra-nossa.webp') center/cover no-repeat; }
.ph-poucos-sobrevivem-poster{ background: url('../img/poucos-sobrevivem.webp') center/cover no-repeat; }
.ph-dia-de-reis-poster{ background: url('../img/dia-de-reis.webp') center/cover no-repeat; }
.ph-estradas-francisco-poster{ background: url('../img/estradas-pra-francisco.webp') center/cover no-repeat; }
.ph-palms-cta{ background: linear-gradient(180deg, #0c1410 0%, #16241b 40%, #223326 70%, #0a100c 100%); }
.ph-palms-blue{ background: url('../img/biomaverde.webp') center/cover no-repeat, linear-gradient(200deg, #bcdcec 0%, #8fc2d8 30%, #4f7f66 60%, #1f3a2a 100%); }
.ph-river-aerial{ background: url('../img/rodape-novo.webp') center/cover no-repeat, linear-gradient(180deg, #24303a 0%, #3d5147 25%, #5c7350 45%, #d7a85e 62%, #f0cf8c 70%, #3a4f3f 85%, #101a14 100%); }

/* ==========================================================================
   HOME
   ========================================================================== */

/* Hero */
.hero-home{ height: 640px; color:#fff; }
.hero-home .hero-inner{
  position:relative; height:100%;
  display:flex; align-items:center;
  background:
    linear-gradient(180deg, rgba(4,5,4,0.6) 0%, rgba(4,5,4,0) 16%),
    linear-gradient(90deg, rgba(6,8,6,0.82) 0%, rgba(6,8,6,0.55) 38%, rgba(6,8,6,0.05) 60%);
}
.hero-home .wrap{ width:100%; display:flex; justify-content:space-between; align-items:center; }
.hero-content{ max-width:600px; }
.hero-content .eyebrow{ color: var(--text-muted); margin-bottom:18px; }
.hero-content h1{
  font-family: var(--font-sans); font-weight:800; text-transform:uppercase;
  font-size:56px; line-height:1.05; letter-spacing:0; margin:0 0 22px;
}
.hero-content p{ font-size:15px; line-height:1.7; color: var(--text-muted); max-width:420px; margin:0 0 32px; }
.hero-btns{ display:flex; gap:14px; }

.hero-tabs{
  position:relative;
  display:flex; flex-direction:column; gap:26px;
  padding-left:28px;
}
.hero-tabs::before{
  content:''; position:absolute; left:0; top:3px; bottom:3px; width:1px; background: var(--line-light);
}
.hero-tabs li{
  position:relative;
  font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color: var(--text-muted); white-space:nowrap; transition: color .2s ease;
}
.hero-tabs li::before{
  content:''; position:absolute; left:-31.5px; top:50%; transform:translateY(-50%);
  width:6px; height:6px; border-radius:50%; background: var(--text-muted); opacity:0.6;
  transition: all .2s ease;
}
.hero-tabs li .num{ display:block; font-size:11px; font-weight:700; color:inherit; margin-bottom:3px; }
.hero-tabs li.active{ color:#fff; }
.hero-tabs li.active::before{
  width:9px; height:9px; left:-33px; background:#fff; opacity:1;
  box-shadow: 0 0 0 4px rgba(255,255,255,0.15);
}

/* Nosso cinema */
.cinema-section{ padding: 52px 0; }
.cinema-grid{ display:flex; gap:60px; align-items:center; }
.cinema-text{ width:300px; flex-shrink:0; }
.cinema-text .eyebrow{ color: var(--text-muted); margin-bottom:10px; }
.cinema-text h2{ font-family: var(--font-serif); font-weight:500; font-size:28px; line-height:1.2; margin:0 0 12px; }
.cinema-text p{ font-size:13.5px; line-height:1.65; color: var(--text-muted); margin:0 0 16px; }
.cinema-text .link-arrow{ color:#fff; }

.cinema-carousel{ flex:1; display:flex; gap:22px; align-items:center; }
.carousel-track{ display:flex; gap:20px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; }
.carousel-track::-webkit-scrollbar{ display:none; }
.mini-card{ width:210px; flex-shrink:0; }
.mini-card .thumb{ width:100%; aspect-ratio:2/3; border-radius:4px; margin-bottom:10px; }
.mini-card h4{ font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; margin:0 0 4px; }
.mini-card span{ font-size:11.5px; color: var(--text-muted); }
.carousel-arrows{ display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.arrow-circle{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line-light);
  display:flex; align-items:center; justify-content:center; background:none; color:#fff;
}
.arrow-circle svg{ width:14px; height:14px; }
.arrow-circle:hover{ background: rgba(255,255,255,0.08); }

/* A Cocais */
.cocais-section{ display:grid; grid-template-columns: 34% 66%; min-height:360px; }
.cocais-photo{ position:relative; padding:32px; display:flex; align-items:flex-end; }
.cocais-photo .vertical-label{
  font-size:11px; font-weight:600; letter-spacing:0.14em; line-height:2.1; text-transform:uppercase; color:#fff;
}
.cocais-right{
  display:grid; grid-template-columns: 70% 30%;
  background: url('../img/ilustracaococais.png') center/cover no-repeat;
}
.cocais-text{ padding: 40px 50px; display:flex; flex-direction:column; justify-content:center; }
.cocais-text .eyebrow{ color: var(--accent-red); margin-bottom:12px; }
.cocais-text h2{ font-family: var(--font-serif); font-weight:500; font-size:28px; line-height:1.25; margin:0 0 14px; max-width:460px; }
.cocais-text p{ font-size:13.5px; line-height:1.65; color: var(--text-dark-2); max-width:440px; margin:0 0 16px; }
.cocais-text .link-arrow{ color: var(--text-dark); }
.cocais-deco{ display:flex; align-items:flex-end; justify-content:center; padding:28px 20px; }
.cocais-deco .vertical-label{ writing-mode:vertical-rl; font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color: var(--text-dark-2); }

/* Stats bar */
.stats-bar{ background: var(--green-mid); }
.stats-bar .wrap{ display:grid; grid-template-columns: repeat(4, 1fr); }
.stat{ padding: 34px 30px; border-left:1px solid rgba(255,255,255,0.12); text-align:center; }
.stat:first-child{ border-left:none; }
.stat .big{ font-family: var(--font-serif); font-size:30px; font-weight:600; margin-bottom:6px; }
.stat .small{ font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color: var(--text-muted); line-height:1.5; }

/* O que fazemos */
.services-section{ padding:90px 0; }
.services-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:30px; flex-wrap:wrap; }
.services-head .eyebrow{ color: var(--accent-red); margin-bottom:16px; }
.services-head h2{ font-family: var(--font-serif); font-weight:500; font-size:32px; line-height:1.3; margin:0; max-width:600px; }
.services-head .link-arrow{ color: var(--text-dark); }
.services-grid{ display:grid; grid-template-columns: repeat(5, 1fr); gap:30px; }
.service-item{ text-align:center; padding: 0 10px; border-left:1px solid var(--line-dark); }
.service-item:first-child{ border-left:none; }
.service-item svg{ width:34px; height:34px; margin:0 auto 20px; color: var(--text-dark); }
.service-item h4{ font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; margin:0 0 8px; }
.service-item p{ font-size:12.5px; color: var(--text-dark-2); line-height:1.6; margin:0; }

/* Piranhão banner */
.piranhao-banner{ background: var(--red); position:relative; overflow:hidden; height:320px; }
.piranhao-banner-img{ width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.piranhao-cta{ position:absolute; right:40px; bottom:24px; z-index:2; }

/* Final quote section */
.quote-section{ height:480px; position:relative; color:#fff; }
.quote-inner{ position:absolute; inset:0; background: linear-gradient(0deg, rgba(6,10,7,0.75) 0%, rgba(6,10,7,0.15) 45%, rgba(6,10,7,0.05) 100%); display:flex; align-items:flex-end; padding-bottom:56px; }
.quote-inner .wrap{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; }
.quote-left{ font-size:12px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; }
.quote-left .rule{ width:50px; height:1px; background:#fff; margin-top:14px; }
.quote-right{ max-width:420px; text-align:right; }
.quote-right p.q{ font-family: var(--font-serif); font-style:italic; font-size:19px; line-height:1.5; margin:0 0 14px; }
.quote-right .attr{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color: var(--text-muted); }

/* ==========================================================================
   FILMES (listagem)
   ========================================================================== */

.hero-filmes{ height:420px; color:#fff; }
.hero-filmes .hero-inner{
  position:relative; height:100%; display:flex; align-items:center;
  background:
    linear-gradient(180deg, rgba(4,5,4,0.6) 0%, rgba(4,5,4,0) 22%),
    linear-gradient(90deg, rgba(6,7,5,0.88) 0%, rgba(6,7,5,0.62) 34%, rgba(6,7,5,0.05) 62%);
}
.hero-filmes .wrap{ width:100%; display:flex; justify-content:space-between; align-items:center; }
.filmes-hero-content{ max-width:520px; }
.filmes-hero-content .eyebrow{ color: var(--text-muted); margin-bottom:16px; }
.filmes-hero-content h1{ font-family: var(--font-serif); font-weight:500; font-size:44px; line-height:1.15; margin:0 0 18px; }
.filmes-hero-content p{ font-size:14px; line-height:1.75; color: var(--text-muted); max-width:400px; }
.hero-script{ font-family: var(--font-script); font-size:26px; line-height:1.3; text-align:right; color:#fff; }
.hero-script .rule{ width:44px; height:1px; background:#fff; margin-top:10px; margin-left:auto; }

.filter-bar{ background: var(--black); border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); }
.filter-bar .wrap{ display:flex; align-items:center; justify-content:space-between; padding:22px 40px; flex-wrap:wrap; gap:16px; }
.filter-tabs{ display:flex; gap:30px; flex-wrap:wrap; }
.filter-tabs a{ font-size:11.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color: var(--text-muted); padding-bottom:6px; border-bottom:1px solid transparent; }
.filter-tabs a.active{ color:#fff; border-color:#fff; }
.sort-control{ display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color: var(--text-muted); }
.sort-control select{
  background:transparent; color:#fff; border:none; font:inherit; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  padding:4px 20px 4px 0; appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position:right center; background-size:14px;
}
.sort-control select:focus{ outline:none; }

.films-grid-section{ padding: 60px 0 80px; }
.films-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:34px 30px; }
.film-card[hidden]{ display:none; }
.film-card .thumb{ position:relative; width:100%; aspect-ratio:2/3; border-radius:2px; margin-bottom:16px; }
.film-card .director{ font-size:12px; color: var(--text-muted); margin:2px 0 10px; }
.film-card .distribution{ font-size:12px; color: var(--text-muted); margin:-6px 0 10px; }
.film-card .synopsis{ font-size:13px; line-height:1.65; color: var(--text-muted-2); margin:0; }
.play-btn{
  position:absolute; right:16px; bottom:16px; width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.8); background: rgba(10,10,8,0.35);
  display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:none;
}
.play-btn svg{ width:13px; height:13px; margin-left:2px; }
.film-card h3{ font-size:14px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; margin:0 0 6px; }
.film-card h3 .film-year{ color: var(--text-muted); font-weight:600; }
.film-card .meta{ font-size:12.5px; color: var(--text-muted); }


.cta-banner{ height:340px; position:relative; color:#fff; }
.cta-inner{ position:absolute; inset:0; background: linear-gradient(90deg, rgba(6,10,7,0.55) 0%, rgba(6,10,7,0.25) 100%); display:flex; align-items:center; }
.cta-inner .wrap{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; }
.cta-left .eyebrow{ line-height:1.6; margin-bottom:16px; }
.cta-left .rule{ width:50px; height:1px; background:#fff; }
.cta-right{ text-align:right; }
.cta-right h2{ font-family: var(--font-serif); font-weight:500; font-size:30px; line-height:1.3; margin:0 0 24px; }
.cta-right .btn{ margin-left:auto; }

/* ==========================================================================
   A PRODUTORA
   ========================================================================== */

.eyebrow.accent{ color: var(--accent-red); }
.rule-arrow{ position:relative; padding-top:16px; display:inline-flex; }
.rule-arrow::before{ content:''; position:absolute; top:0; left:0; width:28px; height:1px; background:currentColor; }

.ph-about-hero{ background: url('../img/biomaverde.webp') center/cover no-repeat, linear-gradient(200deg, #bcdcec 0%, #8fc2d8 30%, #4f7f66 60%, #1f3a2a 100%); }
.ph-team-1{ background: url('../img/milena.jpg?v=2') center 20%/cover no-repeat, linear-gradient(160deg, #caa06a 0%, #a5673f 45%, #3a2418 100%); }
.ph-team-2{ background: url('../img/wesley-novo.webp') center/cover no-repeat, linear-gradient(160deg, #d9ad6e 0%, #a9713f 45%, #33210f 100%); }
.ph-team-3{ background: url('../img/oliver-novo.webp') center/cover no-repeat, linear-gradient(160deg, #e0b878 0%, #b47a44 45%, #2c1c10 100%); }
.ph-renata{ background: url('../img/Renata Fortes.webp') center/cover no-repeat, linear-gradient(160deg, #c9995f 0%, #9a5f38 45%, #2f1c11 100%); }
.ph-amanda{ background: url('../img/Amanda Drumont.webp') center/cover no-repeat, linear-gradient(160deg, #d3a06a 0%, #a3663d 45%, #33200f 100%); }
.ph-carolina{ background: url('../img/Carolina Maria.webp') center/cover no-repeat, linear-gradient(160deg, #b98a5a 0%, #8a5533 45%, #2a180d 100%); }
.ph-anaclara{ background: url('../img/Ana Clara Ribeiro.webp') center/cover no-repeat, linear-gradient(160deg, #cf9d68 0%, #9d6339 45%, #301c10 100%); }
.ph-dacia{ background: url('../img/Dacia Ibiapina.webp') center/cover no-repeat, linear-gradient(160deg, #c9995f 0%, #9a5f38 45%, #2f1c11 100%); }
.ph-monteiro{ background: url('../img/Monteiro Jr.webp') center/cover no-repeat, linear-gradient(160deg, #b98a5a 0%, #8a5533 45%, #2a180d 100%); }
.ph-carolina2{ background: url('../img/Carolina Maria2.webp') center/cover no-repeat, linear-gradient(160deg, #b98a5a 0%, #8a5533 45%, #2a180d 100%); }
.ph-processo{ background: linear-gradient(115deg, #12100d 0%, #2c2119 22%, #6a5237 42%, #c9964f 60%, #e9c98a 68%, #2c3b30 80%, #101a15 100%); }

/* Hero */
.about-hero{ height:560px; color:#fff; }
.about-hero-inner{
  position:relative; height:100%; display:flex; align-items:center;
  background:
    linear-gradient(180deg, rgba(4,5,4,0.55) 0%, rgba(4,5,4,0) 16%),
    linear-gradient(0deg, rgba(4,5,4,0.75) 0%, rgba(4,5,4,0.2) 45%, rgba(4,5,4,0.05) 70%);
}
.about-hero .wrap{ width:100%; display:flex; justify-content:space-between; align-items:flex-end; height:100%; padding-bottom:56px; padding-top:56px; }
.about-hero-content{ max-width:560px; }
.about-hero-content h1{ font-family: var(--font-serif); font-weight:500; font-size:46px; line-height:1.2; margin:14px 0 18px; }
.about-hero-content > p:not(.eyebrow){ font-size:14.5px; color: var(--text-muted); margin:0 0 22px; }
.about-hero-side{ text-align:right; flex-shrink:0; }
.about-hero-side .rule{ width:44px; height:1px; background:#fff; margin:12px 0 0 auto; }

/* Nossa história */
.history-section{ padding:80px 0; }
.history-grid{ display:block; }
.history-text{ max-width:640px; }
.history-text .eyebrow{ color: var(--accent-red); margin-bottom:14px; }
.history-text h2{ font-family: var(--font-serif); font-weight:500; font-size:30px; line-height:1.25; margin:0 0 16px; }
.history-text p{ font-size:13.5px; line-height:1.65; color: var(--text-dark-2); margin:0 0 14px; text-align:justify; text-align-last:left; -webkit-hyphens:auto; hyphens:auto; }
.history-text em{ font-style:italic; color: var(--text-dark); }
.history-text .link-arrow{ color: var(--text-dark); margin-top:8px; }

/* Tags bar */
.tags-bar{ background: var(--dark-green); }
.tags-list{ display:flex; justify-content:center; gap:0; padding:26px 0; }
.tags-list li{
  font-size:13px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:#fff;
  padding:0 34px; border-left:1px solid rgba(255,255,255,0.2);
}
.tags-list li:first-child{ border-left:none; }

/* Quem faz a Cocais */
.team-section{ padding:80px 0; }
.team-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:50px; flex-wrap:wrap; }
.team-head .eyebrow{ color: var(--accent-red); margin-bottom:14px; }
.team-head h2{ font-family: var(--font-serif); font-weight:500; font-size:30px; line-height:1.3; margin:0; }
.team-head-text{ max-width:360px; font-size:13.5px; line-height:1.7; color: var(--text-dark-2); margin:0; }
.team-role{ display:block; font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color: var(--accent-red); line-height:1.5; margin-bottom:18px; }

.team-bios{ display:flex; flex-direction:column; }
.team-bio{ display:grid; grid-template-columns: 300px 1fr; gap:44px; padding:44px 0; border-bottom:1px solid var(--line-dark); }
.team-bio:first-child{ padding-top:0; }
.team-bio:last-child{ border-bottom:none; padding-bottom:0; }
.team-bio-photo{ width:100%; aspect-ratio:4/5; border-radius:2px; }
.team-bio-text h4{ font-size:20px; font-weight:700; margin:0 0 6px; }
.team-bio-text p{ font-size:13.5px; line-height:1.75; color: var(--text-dark-2); margin:0 0 16px; text-align:justify; text-align-last:left; -webkit-hyphens:auto; hyphens:auto; }
.team-bio-text p:last-of-type{ margin-bottom:0; }
.team-bio-credit{ font-size:11px !important; color: var(--text-muted-2) !important; font-style:italic; margin-top:10px !important; }

/* Nosso processo */
.process-section{ height:480px; color:#fff; }
.process-inner{
  position:relative; height:100%; display:flex; align-items:center;
  background: linear-gradient(90deg, rgba(6,7,5,0.82) 0%, rgba(6,7,5,0.5) 40%, rgba(6,7,5,0.05) 65%);
}
.process-inner .wrap{ width:100%; display:flex; justify-content:space-between; align-items:center; }
.process-content{ max-width:480px; }
.process-content h2{ font-family: var(--font-serif); font-weight:500; font-size:38px; line-height:1.2; margin:12px 0 16px; }
.process-content > p:not(.eyebrow){ font-size:14px; color: var(--text-muted); margin:0 0 22px; }
.process-side{ text-align:right; flex-shrink:0; }
.process-side .vertical-label{ font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; line-height:2.1; }
.process-side .rule{ width:44px; height:1px; background:#fff; margin:12px 0 0 auto; }

/* Vamos seguir juntos */
.contact-cta-section{ padding:80px 0; }
.contact-cta-grid{ display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.contact-cta-text .eyebrow{ color: var(--accent-red); margin-bottom:14px; }
.contact-cta-text h2{ font-family: var(--font-serif); font-weight:500; font-size:30px; line-height:1.3; margin:0; max-width:360px; }
.contact-cta-box{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.contact-field{
  border:1px solid var(--line-dark); border-radius:4px; padding:16px 22px;
  font-size:13px; letter-spacing:0.04em; color: var(--text-dark-2); min-width:280px;
}
.contact-cta-box .link-arrow{ color: var(--text-dark); }
.contact-cta-side{ display:flex; align-items:center; gap:18px; }
.contact-cta-side .vertical-label{ font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color: var(--text-dark-2); text-align:right; line-height:1.6; }
.seed-icon{ width:26px; height:auto; color: var(--red); opacity:0.8; }

/* Footer bottom bar */
.footer-bottom{
  display:flex; justify-content:space-between; margin-top:24px; padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.08);
  font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color: var(--text-muted-2);
}

/* ==========================================================================
   MOSTRA PIRANHÃO
   ========================================================================== */
:root{
  --mp-gold: #d9a531;
  --mp-gold-2: #c99424;
  --mp-maroon: #5c1f16;
}

.mp-icon{ width:20px; height:20px; object-fit:contain; flex-shrink:0; }
.mp-icon-small{ width:16px; height:16px; }
.mp-icon-label{ display:flex; align-items:center; gap:10px; margin:0 0 16px; }
.mp-icon-label .eyebrow{ color: var(--accent-red); margin:0; }
.mp-star-purple{ filter: hue-rotate(255deg) saturate(1.3) brightness(0.95); }

/* Hero */
.mp-hero{ position:relative; background: #b62326; color:#fff; }
.mp-hero-bg{ display:block; width:100%; height:auto; }
.mp-hero-overlay{ position:absolute; inset:0; display:flex; align-items:flex-end; }
.mp-hero-wrap{ width:100%; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; padding-bottom:36px; }
.mp-hero-content{ max-width:460px; }
.mp-hero-text{ font-size:14.5px; color: var(--text-light); max-width:380px; margin:0 0 14px; }
.mp-hero-meta{ font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color: var(--cream); margin:0 0 24px; }
.mp-hero-meta .divider{ margin:0 6px; opacity:0.7; }
.mp-hero-side{ flex-shrink:0; padding-bottom:6px; }
.mp-hero-side .vertical-label{ font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; text-align:right; line-height:1.8; color:#fff; }

/* Hero com vídeo (edições sem arte pronta) */
.mp-video-hero{ background: var(--red); padding:130px 0 70px; color:#fff; text-align:center; }
.mp-video-hero h1{ font-family: var(--font-serif); font-weight:500; font-size:36px; margin:0 0 10px; }
.mp-video-hero-meta{ justify-content:center; margin:0 0 30px !important; text-align:center; }
.mp-video-embed{
  position:relative; width:100%; max-width:880px; margin:0 auto;
  aspect-ratio:16/9; border-radius:6px; overflow:hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.35);
}
.mp-video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.mp-video-hero-btn{ margin-top:32px; }

/* Curadoria / Zona Crítica como pessoas */
.mp-people-grid{ align-items:start; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important; }
.mp-person-role{ display:block; font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color: var(--mp-gold); margin:0 0 10px; }
.mp-curadoria-card.mp-person h4{ font-size:16px; margin-bottom:10px; }
.mp-curadoria-card.mp-person .bio{ font-size:13px; line-height:1.7; color: rgba(255,255,255,0.82); margin:0 0 12px; }
.mp-curadoria-card.mp-person .bio:last-child{ margin-bottom:0; }

.mp-zc-people{ background: var(--mp-gold); padding:80px 0; }
.mp-zc-people-head{
  display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:50px;
  font-family: var(--font-sans); font-weight:800; font-size:24px; text-transform:uppercase; color: var(--mp-maroon);
}
.mp-zc-people-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:40px; }
.mp-zc-person-photo{ width:100%; aspect-ratio:4/5; border-radius:2px; margin-bottom:16px; }
.mp-zc-person h4{ font-size:16px; font-weight:700; color: var(--mp-maroon); margin:0 0 10px; }
.mp-zc-person p{ font-size:13px; line-height:1.7; color: var(--mp-maroon); margin:0; }

/* Apresentação */
.mp-apresentacao{ padding:80px 0; }
.mp-apresentacao-grid{ display:grid; grid-template-columns: 38% 32% 30%; gap:40px; align-items:center; }
.mp-apresentacao-photo{ width:100%; aspect-ratio:4/3; border-radius:2px; }
.mp-apresentacao-text h2{ font-family: var(--font-serif); font-weight:500; font-size:30px; line-height:1.25; margin:0 0 16px; }
.mp-apresentacao-text p{ font-size:13.5px; line-height:1.65; color: var(--text-dark-2); margin:0 0 14px; }
.mp-apresentacao-text .link-arrow{ color: var(--text-dark); margin-top:6px; }
.mp-apresentacao-side{ display:flex; flex-direction:column; align-items:flex-end; gap:18px; text-align:right; }
.mp-bird{ width:190px; height:auto; }
.mp-apresentacao-side .vertical-label{ font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color: var(--text-dark-2); line-height:1.7; }

/* Piranhão: Território Inventado */
.mp-tema{ padding:90px 0; }
.mp-tema-wrap{ max-width:760px; }
.mp-tema .eyebrow{ color: var(--text-muted); margin-bottom:16px; }
.mp-tema-title{ font-family: var(--font-serif); font-weight:500; font-size:34px; line-height:1.3; margin:0 0 40px; color:#fff; }
.mp-tema-body p{ font-size:14.5px; line-height:1.8; color: var(--text-muted); margin:0 0 22px; }
.mp-tema-body p:last-child{ margin-bottom:0; }
.mp-tema-list{ list-style:none; margin:0 0 26px; padding:26px 0; border-top:1px solid rgba(255,255,255,0.12); border-bottom:1px solid rgba(255,255,255,0.12); }
.mp-tema-list li{ font-family: var(--font-serif); font-style:italic; font-size:18px; line-height:1.7; color:#fff; }
.mp-eixo{ margin-top:56px; padding-top:56px; border-top:1px solid rgba(255,255,255,0.14); }
.mp-eixo-eyebrow{ color: var(--mp-gold); }
.mp-eixo h3{ font-family: var(--font-serif); font-weight:500; font-size:28px; line-height:1.3; color:#fff; margin:0 0 10px; }
.mp-eixo-sub{ font-size:13px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color: var(--text-muted); margin:0 0 28px; }

/* Materiais */
.mp-materiais{ position:relative; background: var(--mp-gold); overflow:hidden; padding:36px 0; }
.mp-materiais-star{ position:absolute; top:50%; transform:translateY(-50%); width:110px; height:auto; opacity:0.95; }
.mp-materiais-star-left{ left:-20px; }
.mp-materiais-star-right{ right:-20px; }
.mp-materiais-inner{ position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:50px; flex-wrap:wrap; }
.mp-materiais-left{ display:flex; align-items:center; gap:26px; }
.mp-materiais-left h3{ font-family: var(--font-sans); font-weight:900; font-size:32px; text-transform:uppercase; color: var(--mp-maroon); margin:0; }
.btn-materiais{ background: var(--mp-maroon); color:#fff; }
.btn-materiais:hover{ background:#42150e; }
.mp-materiais-text{ font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color: var(--mp-maroon); line-height:1.6; margin:0; max-width:200px; }

/* Curadoria */
.mp-curadoria{ background: var(--red); padding:80px 0; }
.mp-curadoria-head{ display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:50px; }
.mp-curadoria-head h2{ font-family: var(--font-sans); font-weight:800; font-size:28px; text-transform:uppercase; letter-spacing:0.04em; color: var(--mp-gold); margin:0; }
.mp-curadoria-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:28px; margin-bottom:44px; }
.mp-curadoria-photo{ width:100%; aspect-ratio:4/3; border-radius:2px; margin-bottom:16px; }
.mp-curadoria-card h4{ font-size:14px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:#fff; margin:0 0 8px; }
.mp-curadoria-card p{ font-size:12.5px; line-height:1.6; color: rgba(255,255,255,0.75); margin:0; }
.mp-curadoria-cta{ text-align:center; }

/* Zona Crítica */
.mp-zonacritica{ background: url('../img/backbarco.png') center/cover no-repeat; height:420px; display:flex; align-items:center; }
.mp-zonacritica .wrap{ width:100%; }
.mp-zc-grid{ display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.mp-zc-text{ max-width:440px; }
.mp-zc-head{ display:flex; align-items:center; gap:12px; font-family: var(--font-sans); font-weight:800; font-size:22px; text-transform:uppercase; color: var(--mp-maroon); margin:0 0 14px; }
.mp-zc-text > p:not(.mp-zc-head){ font-size:13.5px; line-height:1.65; color: var(--mp-maroon); margin:0 0 14px; }
.mp-zc-text .link-arrow{ color: var(--mp-maroon); }
.mp-zc-illustration{ flex-shrink:0; align-self:center; }
.mp-zc-illustration .vertical-label{ font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color: var(--mp-maroon); line-height:1.7; text-align:right; }

/* Piauí / Maranhão */
.mp-territorios{ padding:80px 0; }
.mp-territorios-head{ display:flex; align-items:center; gap:10px; font-family: var(--font-sans); font-weight:800; font-size:20px; text-transform:uppercase; color: var(--accent-red); margin:0 0 40px; }
.mp-territorios-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:40px; }
.mp-territorio-card{ display:grid; grid-template-columns: 44% 56%; gap:26px; align-items:center; }
.mp-territorio-photo{ width:100%; aspect-ratio:4/3; border-radius:2px; }
.mp-territorio-text h3{ font-family: var(--font-serif); font-weight:600; font-size:22px; margin:0 0 10px; }
.mp-territorio-text p{ font-size:13px; line-height:1.6; color: var(--text-dark-2); margin:0 0 12px; }
.mp-territorio-text .link-arrow{ color: var(--text-dark); }

/* Hero simples (imagem + faixa de tema abaixo) */
.mp-hero-simple{ background: var(--cream); }
.mp-hero-simple img{ width:100%; height:auto; display:block; }
.mp-hero-below{ background: var(--red); padding:56px 0; color:#fff; }
.mp-hero-below .eyebrow{ color: var(--cream); margin-bottom:14px; }
.mp-hero-below h1{ font-family: var(--font-serif); font-weight:500; font-size:40px; margin:0 0 18px; }
.mp-hero-below-meta{ font-size:12px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color: var(--cream); margin:0 0 26px; }
.mp-hero-below-meta .divider{ margin:0 8px; opacity:0.7; }

/* Ficha técnica dos filmes */
.mp-films-section{ padding:80px 0; }
.mp-films-state{ margin-bottom:60px; }
.mp-films-state:last-child{ margin-bottom:0; }
.mp-films-state-heading{
  font-family: var(--font-sans); font-weight:800; font-size:26px; text-transform:uppercase;
  color: var(--accent-red); letter-spacing:0.04em; margin:0 0 36px; padding-bottom:16px;
  border-bottom:1px solid var(--line-dark);
}
.mp-film-card{ display:grid; grid-template-columns: 260px 1fr; gap:36px; padding:36px 0; border-bottom:1px solid var(--line-dark); }
.mp-film-card:last-child{ border-bottom:none; }
.mp-film-still{ width:100%; aspect-ratio:16/10; border-radius:2px; background-size:cover; background-position:center; }
.mp-film-card h4{ font-size:18px; font-weight:800; letter-spacing:0.03em; text-transform:uppercase; color: var(--text-dark); margin:0 0 10px; }
.mp-film-meta{ font-size:12px; color: var(--text-dark-2); line-height:1.7; margin:0 0 16px; }
.mp-film-meta strong{ color: var(--text-dark); font-weight:700; }
.mp-film-label{ display:block; font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color: var(--accent-red); margin:0 0 6px; }
.mp-film-card p.mp-film-text{ font-size:13.5px; line-height:1.7; color: var(--text-dark-2); margin:0 0 20px; }
.mp-film-card p.mp-film-text:last-child{ margin-bottom:0; }

/* Programação (agenda por dia) */
.mp-schedule{ padding:80px 0; }
.mp-schedule-intro{ margin-bottom:50px; max-width:640px; }
.mp-schedule-intro .eyebrow{ color: var(--accent-red); margin-bottom:14px; }
.mp-schedule-intro h2{ font-family: var(--font-serif); font-weight:500; font-size:30px; margin:0 0 16px; }
.mp-schedule-intro p{ font-size:13.5px; line-height:1.65; color: var(--text-dark-2); margin:0; }
.mp-schedule-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:36px; }
.mp-schedule-day h3{ font-family: var(--font-sans); font-weight:800; font-size:15px; text-transform:uppercase; letter-spacing:0.04em; color: var(--text-dark); margin:0 0 20px; padding-bottom:14px; border-bottom:2px solid var(--accent-red); }
.mp-schedule-day ul{ list-style:none; margin:0; padding:0; }
.mp-schedule-day li{ padding:12px 0; border-bottom:1px solid var(--line-dark); font-size:12.5px; line-height:1.6; color: var(--text-dark-2); }
.mp-schedule-day li:last-child{ border-bottom:none; }
.mp-schedule-time{ display:block; font-weight:700; color: var(--accent-red); font-size:12px; letter-spacing:0.03em; margin-bottom:3px; }

/* Galeria em carrossel */
.mp-gallery{ padding:80px 0; }
.mp-gallery .eyebrow{ color: var(--text-muted); margin-bottom:14px; }
.mp-gallery h2{ font-family: var(--font-serif); font-weight:500; font-size:32px; margin:0 0 40px; color:#fff; }
.mp-gallery-carousel{ display:flex; align-items:center; gap:24px; }
.mp-gallery-track{ display:flex; gap:18px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; flex:1; }
.mp-gallery-track::-webkit-scrollbar{ display:none; }
.mp-gallery-item{ flex-shrink:0; width:320px; }
.mp-gallery-item img{ width:100%; height:230px; object-fit:cover; border-radius:4px; display:block; }
.mp-gallery-arrows{ display:flex; flex-direction:column; gap:10px; flex-shrink:0; }

/* Realização / Apoio */
.mp-sponsors{ background: var(--cream); padding:56px 0; text-align:center; }
.mp-sponsors img{ max-width:100%; height:auto; margin:0 auto; }
.mp-sponsors img.mp-sponsors-logo{ max-width:200px; width:100%; margin-bottom:30px; }

/* Vamos seguir juntos (final) */
.mp-final-cta{ position:relative; background: url('../img/backvermelho.png') center/cover no-repeat; padding:60px 0; color:#fff; }
.mp-final-inner{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.mp-final-text .eyebrow{ color: var(--cream); margin-bottom:14px; }
.mp-final-text h2{ font-family: var(--font-serif); font-weight:500; font-size:30px; line-height:1.3; margin:0; }
.mp-final-label{ font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; text-align:right; line-height:1.7; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1080px){
  .cocais-section{ grid-template-columns: 1fr; }
  .cocais-right{ grid-template-columns: 1fr; }
  .cocais-deco{ justify-content:flex-start; padding:20px 24px 28px; }
  .cocais-deco .vertical-label{ writing-mode:horizontal-tb; }
  .services-grid{ grid-template-columns: repeat(3,1fr); gap:36px 20px; }
  .service-item{ border-left:none; }
  .films-grid{ grid-template-columns: repeat(2,1fr); }
  .stats-bar .wrap{ grid-template-columns: repeat(2,1fr); }
  .stat{ border-left:none; border-top:1px solid rgba(255,255,255,0.12); }
  .stat:nth-child(1), .stat:nth-child(2){ border-top:none; }
  .team-bio{ grid-template-columns: 240px 1fr; gap:30px; }
}
@media (max-width: 860px){
  .wrap{ padding:0 30px; }
  .header-actions .icon-btn{ display:none; }
  .header-actions .btn{ padding:9px 16px; font-size:11px; }
  .nav-burger{ display:block; }
  .site-header .wrap{ height:74px; }

  .main-nav{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background: rgba(11,12,10,0.55);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    max-height:0; overflow:hidden;
    transition: max-height .3s ease, background .3s ease;
    border-bottom:0 solid rgba(255,255,255,0.08);
  }
  .main-nav.open{ max-height:70vh; overflow-y:auto; border-bottom-width:1px; }
  .main-nav a{
    width:100%; padding:16px 24px; opacity:1;
    border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .main-nav a.active{ border-bottom-color: rgba(255,255,255,0.1); color:#fff; background: rgba(255,255,255,0.06); }
  .site-header.scrolled .main-nav{ background: rgba(20,35,26,0.7); }

  .main-nav .nav-item{ flex-direction:column; align-items:stretch; position:relative; }
  .submenu-caret{ display:none; }
  .submenu-toggle{
    display:flex; align-items:center; justify-content:center;
    position:absolute; right:8px; top:6px; width:36px; height:36px;
  }
  .submenu-toggle svg{ transition: transform .2s ease; }
  .submenu-toggle.open svg{ transform: rotate(180deg); }
  .submenu{
    position:static; display:block; max-height:0; overflow:hidden;
    margin-top:0; background: rgba(0,0,0,0.18); border:none; padding:0;
    transition: max-height .3s ease;
  }
  .submenu.open{ max-height:260px; }
  .submenu a{ padding:12px 24px 12px 40px; border-bottom:1px solid rgba(255,255,255,0.06); }
  .hero-home, .hero-filmes{ height:auto; padding:70px 0; }
  .hero-home.ph-sunset-river{
    background:
      linear-gradient(180deg, rgba(6,8,6,0.75) 0%, rgba(6,8,6,0.4) 18%, rgba(6,8,6,0.85) 100%),
      url('../img/hero-novo.webp') center/cover no-repeat;
  }
  .hero-filmes.ph-boy-pier{
    background:
      linear-gradient(180deg, rgba(6,8,6,0.55) 0%, rgba(6,8,6,0.85) 100%),
      url('../img/banner-filmes-topo.webp') center/cover no-repeat;
  }
  .hero-home .hero-inner, .hero-filmes .hero-inner{ background:none; }
  .hero-home .wrap, .hero-filmes .wrap{ flex-direction:column; align-items:flex-start; gap:40px; }
  .hero-content h1{ font-size:36px; }
  .hero-tabs{ display:grid; grid-template-columns: repeat(2, auto); column-gap:32px; row-gap:18px; border-top:1px solid var(--line-light); padding-left:0; padding-top:20px; }
  .hero-tabs::before{ display:none; }
  .hero-tabs li{ padding-left:14px; border-left:1px solid var(--line-light); white-space:normal; }
  .hero-tabs li::before{ display:none; }
  .hero-tabs li.active{ border-left-color:#fff; }
  .cinema-grid{ flex-direction:column; align-items:flex-start; }
  .cinema-text{ width:100%; }
  .cinema-carousel{ width:100%; min-width:0; }
  .carousel-track{ min-width:0; }
  .services-grid{ grid-template-columns: repeat(2,1fr); }
  .films-grid{ grid-template-columns: 1fr; }
  .filmes-hero-content h1{ font-size:32px; }
  .hero-script{ text-align:left; }
  .hero-script .rule{ margin-left:0; }
  .filter-bar .wrap{ padding:22px 30px; }
  .filter-tabs{ gap:18px 22px; }
  .cta-inner .wrap{ flex-direction:column; align-items:flex-start; }
  .cta-right{ text-align:left; }
  .cta-right .btn{ margin-left:0; }
  .site-footer .wrap{ flex-direction:column; align-items:flex-start; }
  .piranhao-banner{ height:270px; }
  .piranhao-banner-img{ height:100%; object-position: center center; }
  .piranhao-cta{ right:50%; bottom:16px; transform: translateX(50%); }
  .piranhao-cta .btn{ padding:10px 18px; font-size:11px; white-space:nowrap; }
  .quote-inner .wrap{ flex-direction:column; align-items:flex-start; gap:24px; }
  .quote-right{ text-align:left; }

  .about-hero.ph-about-hero{
    height:auto;
    background:
      linear-gradient(180deg, rgba(6,8,6,0.55) 0%, rgba(6,8,6,0.85) 100%),
      url('../img/biomaverde.webp') center/cover no-repeat;
  }
  .about-hero-inner{ background:none; }
  .about-hero .wrap{ flex-direction:column; align-items:flex-start; gap:18px; padding-top:56px; padding-bottom:32px; }
  .about-hero-content h1{ font-size:32px; }
  .about-hero-side{ text-align:left; margin-top:4px; }
  .about-hero-side .rule{ margin:10px 0 0 0; }
  .history-section{ padding:48px 0; }
  .tags-list{ flex-wrap:wrap; }
  .tags-list li{ padding:6px 18px; }
  .team-section{ padding:48px 0; }
  .team-head{ flex-direction:column; align-items:flex-start; gap:16px; }
  .team-bio{ grid-template-columns: 1fr; gap:20px; padding:32px 0; }
  .team-bio-photo{ max-width:220px; }
  .process-section{ height:auto; }
  .process-inner{ background: linear-gradient(180deg, rgba(6,7,5,0.55) 0%, rgba(6,7,5,0.85) 100%); }
  .process-inner .wrap{ flex-direction:column; align-items:flex-start; gap:20px; padding-top:44px; padding-bottom:44px; }
  .process-content h2{ font-size:28px; }
  .process-side{ text-align:left; }
  .process-side .rule{ margin:12px auto 0 0; }
  .contact-cta-section{ padding:48px 0; }
  .contact-cta-grid{ flex-direction:column; align-items:flex-start; gap:24px; }
  .contact-cta-side{ flex-direction:row-reverse; justify-content:flex-end; }
  .contact-cta-side .vertical-label{ text-align:left; }
  .contact-field{ min-width:0; width:100%; }
  .contact-cta-box{ width:100%; }
  .footer-bottom{ flex-direction:column; gap:8px; }

  .mp-hero{ background: url('../img/heropiranhaocorreta.png') top center/cover no-repeat; min-height:155.6vw; }
  .mp-hero-bg, .mp-hero picture{ display:none; }
  .mp-hero-overlay{ position:static; background:transparent; padding:90vw 0 28px; }
  .mp-hero-wrap{ flex-direction:column; align-items:flex-start; gap:24px; padding-bottom:0; }
  .mp-hero-content{ width:100%; }
  .mp-hero-side .vertical-label{ text-align:left; }
  .mp-apresentacao-grid{ grid-template-columns: 1fr; }
  .mp-apresentacao-side{ flex-direction:row; align-items:center; text-align:left; }
  .mp-materiais-inner{ flex-direction:column; text-align:center; gap:20px; }
  .mp-materiais-star{ width:70px; }
  .mp-curadoria-grid{ grid-template-columns: repeat(2,1fr); }
  .mp-video-hero{ padding:110px 0 56px; }
  .mp-video-hero h1{ font-size:28px; }
  .mp-zc-people-grid{ grid-template-columns: 1fr; gap:36px; }
  .mp-zonacritica{ height:auto; padding:40px 0; }
  .mp-zc-grid{ flex-direction:column; align-items:flex-start; }
  .mp-zc-illustration .vertical-label{ text-align:left; }
  .mp-territorios-grid{ grid-template-columns: 1fr; gap:36px; }
  .mp-territorio-card{ grid-template-columns: 1fr; gap:16px; }
  .mp-hero-below h1{ font-size:30px; }
  .mp-film-card{ grid-template-columns: 1fr; gap:18px; }
  .mp-schedule-grid{ grid-template-columns: 1fr; gap:30px; }
  .mp-gallery-item{ width:250px; }
  .mp-gallery-item img{ height:180px; }
  .mp-final-cta{ padding:40px 0; }
  .mp-final-inner{ flex-direction:column; align-items:flex-start; gap:20px; }
  .mp-final-label{ text-align:left; }
}

/* ---------- Telas pequenas (celulares) ---------- */
@media (max-width: 480px){
  .wrap{ padding:0 24px; }
  .logo-img{ height:28px; }
  .btn{ padding:13px 20px; font-size:12px; }
  .header-actions .btn{ padding:8px 14px; font-size:10.5px; }

  /* Home */
  .hero-content h1{ font-size:28px; }
  .hero-content p{ font-size:13.5px; }
  .hero-btns{ flex-direction:column; align-items:stretch; gap:10px; }
  .hero-btns .btn{ justify-content:center; }
  .hero-tabs{ gap:14px 20px; }
  .cinema-text h2{ font-size:24px; }
  .cocais-text h2{ font-size:24px; }
  .services-grid{ grid-template-columns: 1fr; gap:28px; }
  .stats-bar .wrap{ grid-template-columns: 1fr; }
  .stat{ border-top:1px solid rgba(255,255,255,0.12) !important; padding:22px 10px; }
  .stat:first-child{ border-top:none !important; }
  .piranhao-banner{ height:220px; }
  .piranhao-cta{ bottom:10px; }
  .piranhao-cta .btn{ padding:8px 14px; font-size:10px; }
  .piranhao-cta .btn{ padding:11px 18px; font-size:11px; }
  .quote-right p.q{ font-size:16px; }

  /* Filmes */
  .filmes-hero-content h1{ font-size:26px; }
  .filter-tabs{ gap:14px 18px; }
  .filter-tabs a{ font-size:10.5px; }
  .pagination{ gap:8px; }

  /* A Produtora */
  .about-hero-content h1{ font-size:26px; }
  .history-text h2{ font-size:24px; }
  .team-head h2{ font-size:24px; }
  .process-content h2{ font-size:24px; }
  .contact-cta-text h2{ font-size:24px; }
  .tags-list li{ font-size:11px; padding:6px 12px; }

  /* Mostra Piranhão */
  .mp-hero-content{ max-width:100%; }
  .mp-hero-text{ max-width:100%; }
  .hero-btns{ flex-direction:column; align-items:stretch; }
  .mp-apresentacao-side{ flex-direction:column; align-items:center; gap:14px; text-align:center; }
  .mp-bird{ width:130px; }
  .mp-tema-title{ font-size:26px; }
  .mp-tema-list li{ font-size:15px; }
  .mp-eixo h3{ font-size:22px; }
  .mp-materiais-left{ flex-direction:column; gap:14px; }
  .mp-materiais-left h3{ font-size:26px; }
  .mp-curadoria-head h2{ font-size:22px; }
  .mp-curadoria-grid{ grid-template-columns: 1fr; }
  .mp-zc-head{ font-size:18px; }
  .mp-final-text h2{ font-size:24px; }
}
