*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --verde:      #0a3d18;
  --verde-vivo: #0f5222;
  --ouro:       #c9a84c;
  --ouro-c:     #dfc070;
  --preto:      #0c0c0a;
  --quente:     #141210;
  --areia:      #f5f0e8;
  --areia2:     #ede7d9;
  --texto:      #2a2519;
  --cinza:      #7a7060;
}
html { scroll-behavior:smooth; }
body { background:var(--areia); color:var(--texto); font-family:'DM Sans',sans-serif; overflow-x:hidden; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-thumb { background:var(--ouro); }

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem 5vw;
  transition:background 0.5s, padding 0.4s, box-shadow 0.4s;
}
nav.scrolled {
  background:rgba(245,240,232,0.97);
  padding:0.9rem 5vw;
  box-shadow:0 1px 0 rgba(42,37,25,0.08);
}
.nav-logo { display:flex; align-items:center; gap:0.8rem; text-decoration:none; }
.nav-logo-img { height:48px; width:auto; }
.nav-nome {
  font-family:'Fraunces',serif; font-size:1.2rem; font-weight:600;
  letter-spacing:0.1em; color:var(--preto);
}
.nav-nome span { color:var(--ouro); }
.nav-links { display:flex; align-items:center; gap:2rem; }
.nav-links a {
  text-decoration:none; font-size:0.7rem; font-weight:500;
  letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(42,37,25,0.5); transition:color 0.3s;
}
.nav-links a:hover, .nav-links a.active { color:var(--verde); }
.nav-wpp {
  display:flex; align-items:center; gap:0.5rem;
  padding:0.6rem 1.2rem; background:var(--verde);
  color:var(--areia) !important; border-radius:2px;
  transition:background 0.3s;
}
.nav-wpp:hover { background:var(--verde-vivo); }

/* HAMBURGER */
.hamburger {
  display:none; flex-direction:column; justify-content:center;
  gap:5px; cursor:pointer; padding:8px; z-index:301;
  background:none; border:none;
}
.hamburger span {
  display:block; width:22px; height:2px; background:var(--texto);
  transition:transform 0.3s, opacity 0.3s;
}
.hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* MOBILE MENU OVERLAY */
.mobile-menu {
  display:none; position:fixed; inset:0; z-index:300;
  background:rgba(245,240,232,0.98); backdrop-filter:blur(8px);
  flex-direction:column; align-items:center; justify-content:center; gap:2rem;
  opacity:0; transition:opacity 0.35s;
}
.mobile-menu.open { opacity:1; }
.mobile-menu a {
  text-decoration:none; font-family:'Fraunces',serif;
  font-size:1.4rem; font-weight:300; color:var(--texto);
  transition:color 0.3s;
}
.mobile-menu a:hover { color:var(--verde); }
.mobile-menu .nav-wpp {
  margin-top:1rem; padding:0.9rem 2rem;
  font-size:0.75rem; font-family:'DM Sans',sans-serif;
}

/* HERO */
.hero {
  min-height:100vh; display:grid; grid-template-columns:1fr 1fr;
  position:relative; overflow:hidden;
}
.hero-left {
  display:flex; flex-direction:column; justify-content:center;
  padding:8rem 5vw 5rem; background:var(--areia); position:relative; z-index:2;
}
.hero-tag {
  display:inline-flex; align-items:center; gap:0.8rem; margin-bottom:2rem;
  opacity:0; animation:fadeUp 0.8s 0.3s forwards;
}
.hero-tag-dot { width:6px; height:6px; border-radius:50%; background:var(--ouro); }
.hero-tag-txt {
  font-size:0.6rem; font-weight:500; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--cinza);
}
.hero-title {
  font-family:'Fraunces',serif;
  font-size:clamp(2rem,4.5vw,4.8rem);
  font-weight:300; line-height:1.1; margin-bottom:1.8rem;
}
.hero-title .l1 {
  display:block; opacity:0; transform:translateY(28px);
  animation:fadeUp 1s 0.5s cubic-bezier(0.16,1,0.3,1) forwards;
}
.hero-title .l2 {
  display:block; font-style:italic; color:var(--verde);
  opacity:0; transform:translateY(28px);
  animation:fadeUp 1s 0.7s cubic-bezier(0.16,1,0.3,1) forwards;
}
.hero-title .l3 {
  display:block; opacity:0; transform:translateY(28px);
  animation:fadeUp 1s 0.9s cubic-bezier(0.16,1,0.3,1) forwards;
}
.hero-frase {
  font-family:'Fraunces',serif; font-style:italic;
  font-size:1rem; color:var(--cinza); line-height:1.75;
  max-width:400px; margin-bottom:0.6rem;
  border-left:2px solid var(--ouro); padding-left:1rem;
  opacity:0; animation:fadeUp 0.9s 1.1s forwards;
}
.hero-autor {
  font-size:0.65rem; font-weight:500; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--ouro);
  padding-left:1rem; margin-bottom:2.5rem;
  opacity:0; animation:fadeUp 0.9s 1.2s forwards;
}
.hero-btns {
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  opacity:0; animation:fadeUp 0.9s 1.4s forwards;
}
.btn-v {
  display:inline-flex; align-items:center; gap:0.7rem;
  padding:1rem 2rem; background:var(--verde); color:var(--areia);
  font-size:0.7rem; font-weight:500; letter-spacing:0.15em;
  text-transform:uppercase; text-decoration:none; border-radius:2px;
  transition:background 0.3s, transform 0.3s;
}
.btn-v:hover { background:var(--verde-vivo); transform:translateY(-2px); }
.btn-o {
  display:inline-flex; align-items:center; gap:0.6rem;
  padding:1rem 1.8rem; background:transparent; color:var(--texto);
  font-size:0.7rem; font-weight:500; letter-spacing:0.15em;
  text-transform:uppercase; text-decoration:none;
  border:1.5px solid rgba(42,37,25,0.2); border-radius:2px;
  transition:border-color 0.3s, color 0.3s;
}
.btn-o:hover { border-color:var(--verde); color:var(--verde); }
.hero-right { position:relative; overflow:hidden; }
.hero-right img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  animation:heroZoom 8s ease-out forwards;
}
@keyframes heroZoom { from{transform:scale(1.08)} to{transform:scale(1)} }
.hero-badge {
  position:absolute; bottom:2.5rem; left:-1px;
  background:var(--ouro); padding:1.2rem 1.6rem;
}
.badge-t { font-family:'Fraunces',serif; font-size:1rem; font-weight:600; color:var(--preto); }
.badge-s { font-size:0.58rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:rgba(12,12,10,0.55); }

/* NÚMEROS */
.section-nums {
  background:var(--verde); padding:3rem 5vw;
  display:grid; grid-template-columns:repeat(4,1fr);
}
.num-item {
  padding:1.5rem 2rem;
  border-right:1px solid rgba(245,240,232,0.1);
}
.num-item:last-child { border-right:none; }
.num-n {
  font-family:'Fraunces',serif; font-size:2.8rem; font-weight:300;
  color:var(--ouro); line-height:1;
}
.num-l {
  font-size:0.62rem; font-weight:500; letter-spacing:0.2em;
  text-transform:uppercase; color:rgba(245,240,232,0.45); margin-top:0.3rem;
}

/* MANIFESTO */
.section-manifesto {
  padding:6rem 5vw; background:var(--quente); text-align:center;
  position:relative; overflow:hidden;
}
.manifesto-txt {
  font-family:'Fraunces',serif; font-style:italic;
  font-size:clamp(1.3rem,2.8vw,2.6rem); font-weight:300;
  color:var(--areia); line-height:1.55; max-width:820px; margin:0 auto 1.5rem;
}
.manifesto-txt em { color:var(--ouro); font-style:normal; }
.manifesto-by {
  font-size:0.65rem; font-weight:500; letter-spacing:0.25em;
  text-transform:uppercase; color:rgba(245,240,232,0.3);
}
.manifesto-bg {
  position:absolute; bottom:-3rem; left:50%; transform:translateX(-50%);
  font-family:'Fraunces',serif; font-size:14rem; font-weight:600;
  color:rgba(245,240,232,0.02); white-space:nowrap; pointer-events:none;
}

/* SOBRE */
.section-sobre {
  padding:7rem 5vw; background:var(--areia2);
  display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
  overflow:hidden; position:relative; z-index:1;
}
.sobre-label { font-size:0.6rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--ouro); margin-bottom:1.2rem; }
.sobre-title {
  font-family:'Fraunces',serif; font-size:clamp(1.8rem,3.2vw,3rem);
  font-weight:300; line-height:1.2; margin-bottom:1.4rem;
}
.sobre-title em { font-style:italic; color:var(--verde); }
.sobre-txt { font-size:0.87rem; font-weight:300; line-height:1.95; color:var(--cinza); margin-bottom:1.2rem; }
.sobre-nomes {
  display:flex; gap:2.5rem; padding-top:1.5rem;
  border-top:1px solid rgba(42,37,25,0.1); margin-top:0.5rem;
}
.nome-i h4 { font-family:'Fraunces',serif; font-size:1rem; font-weight:400; margin-bottom:0.2rem; }
.nome-i p { font-size:0.62rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--cinza); }
.sobre-fotos {
  display:grid; grid-template-columns:3fr 2fr; grid-template-rows:1fr 1fr;
  gap:0.5rem; height:480px;
}
.sf-a {
  grid-row:1/3; width:100%; height:100%;
  object-fit:contain; object-position:center; border-radius:2px;
}
.sf-b {
  grid-row:2; width:100%; height:100%;
  object-fit:contain; border-radius:2px;
}

/* SERVIÇOS */
.section-servicos { padding:7rem 5vw; background:var(--areia); }
.sec-h {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:3.5rem; gap:2rem; flex-wrap:wrap;
}
.sec-label { font-size:0.6rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--ouro); margin-bottom:1rem; }
.sec-title {
  font-family:'Fraunces',serif; font-size:clamp(1.8rem,3.2vw,3rem);
  font-weight:300; line-height:1.1;
}
.sec-title em { font-style:italic; color:var(--verde); }
.sec-sub { font-size:0.78rem; font-weight:300; color:var(--cinza); max-width:240px; line-height:1.8; text-align:right; }
.servicos-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5px; background:rgba(42,37,25,0.08);
}
.s-card {
  background:var(--areia); padding:2.5rem 2rem; position:relative; transition:background 0.35s;
}
.s-card::before {
  content:''; position:absolute; top:0; left:0; width:100%; height:3px;
  background:var(--verde); transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.s-card:hover { background:white; }
.s-card:hover::before { transform:scaleX(1); }
.s-num { font-family:'Fraunces',serif; font-size:3rem; font-weight:300; color:rgba(42,37,25,0.05); line-height:1; margin-bottom:1rem; }
.s-nome { font-family:'Fraunces',serif; font-size:1.25rem; font-weight:400; margin-bottom:0.7rem; }
.s-desc { font-size:0.78rem; font-weight:300; line-height:1.85; color:var(--cinza); }

/* PORTFÓLIO */
.section-portfolio { padding:7rem 5vw; background:var(--areia2); }
.portfolio-intro { margin-bottom:3.5rem; }
.portfolio-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:3px; margin-bottom:3px;
}
.p-item { position:relative; overflow:hidden; }
.p-item img {
  width:100%; height:340px; object-fit:cover; display:block;
  transition:transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.p-item:hover img { transform:scale(1.04); }
.p-info {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(12,12,10,0.85), transparent);
  padding:1.5rem 1.2rem 1rem;
  opacity:0; transition:opacity 0.4s;
}
.p-item:hover .p-info { opacity:1; }
@media(max-width:900px){
  .p-info { opacity:1; }
}
.p-info-title { font-family:'Fraunces',serif; font-style:italic; font-size:0.9rem; color:white; }
.p-info-sub { font-size:0.6rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--ouro); margin-top:0.2rem; }
.mikael-bloco { position:relative; overflow:hidden; }
.mikael-bloco img { width:100%; height:320px; object-fit:cover; object-position:center 30%; display:block; transition:transform 0.7s; }
.mikael-bloco:hover img { transform:scale(1.03); }
.mikael-overlay {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(12,12,10,0.85), transparent);
  padding:1.8rem 1.5rem 1.2rem;
}
.mikael-title { font-family:'Fraunces',serif; font-size:1.1rem; color:white; font-style:italic; }
.mikael-sub { font-size:0.6rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--ouro); margin-top:0.3rem; }
.mikael-badge {
  position:absolute; top:1.2rem; right:1.2rem;
  background:rgba(12,12,10,0.7); backdrop-filter:blur(4px);
  padding:0.5rem 1rem; border:1px solid rgba(201,168,76,0.3);
}
.mikael-badge p { font-size:0.6rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--ouro); }

/* DEPOIMENTOS */
.section-depo { padding:7rem 5vw; background:var(--areia2); }
.depo-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-top:3.5rem; }
.depo-card {
  padding:2.8rem; background:white;
  border:1px solid rgba(42,37,25,0.1);
  border-radius:4px;
  position:relative;
}
.depo-card::before {
  content:''; position:absolute; top:0; left:0; width:4px; height:100%;
  background:var(--ouro); border-radius:4px 0 0 4px;
}
.depo-aspas {
  font-family:'Fraunces',serif; font-size:4rem; font-style:italic;
  color:var(--ouro); opacity:0.4; line-height:0.5; margin-bottom:1.2rem; display:block;
}
.depo-txt {
  font-family:'DM Sans',sans-serif; font-style:normal;
  font-size:1.05rem; font-weight:400;
  line-height:1.85; color:var(--texto); margin-bottom:1.8rem;
}
.depo-autor { display:flex; align-items:center; gap:1rem; }
.depo-dot { width:28px; height:2px; background:var(--ouro); flex-shrink:0; }
.depo-nome { font-size:0.82rem; font-weight:500; letter-spacing:0.08em; color:var(--texto); }
.depo-role { font-size:0.68rem; font-weight:400; color:var(--cinza); margin-top:0.2rem; }

/* PROCESSO */
.section-processo {
  padding:7rem 5vw; background:var(--verde); position:relative; overflow:hidden;
}
.section-processo::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 70% at 100% 50%, rgba(201,168,76,0.1) 0%, transparent 60%);
}
.processo-header { margin-bottom:4rem; position:relative; z-index:1; }
.p-label { font-size:0.6rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--ouro); margin-bottom:1rem; }
.p-title {
  font-family:'Fraunces',serif; font-size:clamp(1.8rem,3.2vw,3rem);
  font-weight:300; color:var(--areia); line-height:1.15;
}
.p-title em { font-style:italic; color:var(--ouro); }
.processo-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; position:relative; z-index:1;
}
.processo-grid::before {
  content:''; position:absolute; top:1.9rem; left:4%; right:4%; height:1px;
  background:rgba(201,168,76,0.15);
}
.p-step { padding:0 1.5rem; }
.p-circle {
  width:38px; height:38px; border-radius:50%;
  background:rgba(201,168,76,0.12); border:1px solid rgba(201,168,76,0.35);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-size:0.9rem; color:var(--ouro);
  margin-bottom:1.5rem; position:relative; z-index:1;
}
.p-nome { font-family:'Fraunces',serif; font-size:1rem; font-weight:400; color:var(--areia); margin-bottom:0.6rem; line-height:1.3; }
.p-desc { font-size:0.73rem; font-weight:300; color:rgba(245,240,232,0.45); line-height:1.8; }

/* MCMV */
.section-mcmv {
  display:block; padding:7rem 5vw; background:var(--areia2);
}
.mcmv-tag {
  display:inline-block; padding:0.35rem 0.9rem; background:var(--verde);
  color:var(--areia); font-size:0.58rem; font-weight:500;
  letter-spacing:0.22em; text-transform:uppercase; border-radius:2px; margin-bottom:1.4rem;
}
.mcmv-title {
  font-family:'Fraunces',serif; font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:300; line-height:1.2; margin-bottom:1.2rem;
}
.mcmv-title em { font-style:italic; color:var(--verde); }
.mcmv-txt { font-size:0.85rem; font-weight:300; line-height:1.95; color:var(--cinza); margin-bottom:2rem; }

/* MCMV — Header */
.mcmv-header {
  text-align:center; max-width:640px; margin:0 auto 2.5rem;
}

/* MCMV — Banner */
.mcmv-banner {
  display:flex; align-items:center; justify-content:center;
  gap:0.7rem; flex-wrap:wrap;
  background:var(--verde); color:var(--areia);
  padding:1rem 1.5rem; margin:0 auto 3.5rem; max-width:860px;
  font-size:0.88rem; line-height:1.7; text-align:center;
}
.mcmv-banner strong { font-weight:700; }
.mcmv-banner-badge {
  background:rgba(255,255,255,0.15); padding:0.2rem 0.65rem;
  font-size:0.7rem; font-weight:700; letter-spacing:0.08em;
  white-space:nowrap; flex-shrink:0;
}

/* MCMV — Faixas de renda */
.mcmv-faixas {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1.2rem; margin:0 auto 3rem; max-width:1100px;
}
.mcmv-faixa {
  background:white; padding:1.6rem 1.3rem;
  border:1.5px solid rgba(42,37,25,0.1);
  position:relative; transition:box-shadow 0.25s, transform 0.25s;
}
.mcmv-faixa:hover {
  box-shadow:0 8px 28px rgba(10,61,24,0.1); transform:translateY(-3px);
}
.mcmv-faixa--dest { border-color:var(--verde); border-width:2px; }
.mcmv-faixa-top {
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--verde); color:var(--areia);
  font-size:0.6rem; font-weight:700; letter-spacing:0.1em;
  padding:0.22rem 0.8rem; white-space:nowrap;
}
.mcmv-faixa-top--new { background:var(--ouro); color:var(--preto); }
.mcmv-faixa-num {
  font-size:0.6rem; font-weight:700; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--verde); margin-bottom:0.35rem;
}
.mcmv-faixa-renda {
  font-family:'Fraunces',serif; font-size:0.95rem; font-weight:400;
  color:var(--texto); margin-bottom:1.1rem; line-height:1.4;
}
.mcmv-faixa-list {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:0.55rem;
}
.mcmv-faixa-list li {
  display:flex; align-items:flex-start; gap:0.6rem;
  font-size:0.78rem; font-weight:300; color:var(--cinza); line-height:1.5;
}
.mcmv-faixa-list li::before {
  content:''; display:block; width:14px; height:14px; border-radius:50%;
  background:var(--verde); opacity:0.15; flex-shrink:0; margin-top:2px;
}
.mcmv-faixa-list li.mcmv-faixa-dest { color:var(--verde); font-weight:500; }
.mcmv-faixa-list li.mcmv-faixa-dest::before { opacity:1; background:var(--verde); }
.mcmv-faixa-extra {
  margin-top:1.1rem; padding:0.6rem 0.8rem;
  background:rgba(10,61,24,0.06); font-size:0.75rem; font-weight:500;
  color:var(--verde); text-align:center; line-height:1.5;
  border-top:1px solid rgba(10,61,24,0.1);
}

/* MCMV — Nota Nordeste */
.mcmv-nordeste {
  display:flex; align-items:flex-start; gap:1rem;
  background:#fff8ed; border-left:3px solid var(--ouro);
  padding:1.2rem 1.5rem; max-width:860px; margin:0 auto 3.5rem;
}
.mcmv-nordeste-icon { font-size:1.3rem; flex-shrink:0; line-height:1.2; }
.mcmv-nordeste p { font-size:0.82rem; font-weight:300; color:var(--cinza); line-height:1.75; margin:0; }
.mcmv-nordeste strong { color:var(--texto); font-weight:600; }

/* MCMV — Como a EDR ajuda */
.mcmv-como-header { text-align:center; margin-bottom:2rem; }
.mcmv-como-label {
  font-size:0.6rem; font-weight:500; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--ouro); margin-bottom:0.6rem;
}
.mcmv-como-title {
  font-family:'Fraunces',serif; font-size:clamp(1.4rem,2.5vw,2rem);
  font-weight:300; color:var(--texto); line-height:1.2;
}
.mcmv-como-title em { font-style:italic; color:var(--verde); }
.mcmv-items { display:flex; flex-direction:column; gap:0.8rem; }
.mcmv-item {
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.1rem 1.3rem; background:white;
  border:1px solid rgba(42,37,25,0.07);
  transition:border-color 0.3s, transform 0.3s;
}
.mcmv-item:hover { border-color:var(--verde); transform:translateX(4px); }
.mcmv-n {
  flex-shrink:0; width:26px; height:26px; background:var(--verde);
  color:var(--areia); display:flex; align-items:center; justify-content:center;
  font-size:0.68rem; font-weight:500; border-radius:2px;
}
.mcmv-it h4 { font-size:0.8rem; font-weight:500; margin-bottom:0.2rem; }
.mcmv-it p { font-size:0.73rem; font-weight:300; color:var(--cinza); line-height:1.6; }

/* MCMV — FAQ */
.mcmv-faq { max-width:720px; margin:0 auto 2rem; }
.faq-item {
  background:white; border:1.5px solid rgba(42,37,25,0.1);
  margin-bottom:0.6rem; padding:0; transition:border-color 0.2s;
}
.faq-item[open] { border-color:var(--verde); }
.faq-item summary {
  padding:1.1rem 1.4rem; font-size:0.88rem; font-weight:500;
  cursor:pointer; list-style:none; display:flex; align-items:center;
  justify-content:space-between; gap:1rem; color:var(--preto);
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after {
  content:'+'; font-size:1.2rem; font-weight:300; color:var(--verde);
  transition:transform 0.2s; flex-shrink:0;
}
.faq-item[open] summary::after { content:'-'; }
.faq-item p {
  padding:0 1.4rem 1.2rem; font-size:0.8rem; font-weight:300;
  line-height:1.85; color:var(--cinza);
}

/* MCMV — CTA */
.mcmv-cta { text-align:center; margin-top:3rem; }
.mcmv-cta-txt {
  font-family:'Fraunces',serif; font-style:italic;
  font-size:1rem; color:var(--cinza); margin-bottom:1.5rem;
}
.mcmv-disclaimer {
  margin-top:1.2rem; font-size:0.68rem; font-weight:300;
  color:var(--cinza); opacity:0.6; max-width:560px;
  margin-left:auto; margin-right:auto; line-height:1.6;
}

/* CTA */
.section-cta {
  padding:8rem 5vw; background:var(--quente);
  display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
  position:relative; overflow:hidden;
}
.section-cta::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 50% 80% at 0% 50%, rgba(10,61,24,0.3) 0%, transparent 60%);
}
.cta-c { position:relative; z-index:1; }
.cta-label { font-size:0.6rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--ouro); margin-bottom:1.5rem; }
.cta-title {
  font-family:'Fraunces',serif; font-size:clamp(2rem,4vw,4rem);
  font-weight:300; color:var(--areia); line-height:1.1; margin-bottom:1.2rem;
}
.cta-title em { font-style:italic; color:var(--ouro); }
.cta-sub { font-size:0.85rem; font-weight:300; color:rgba(245,240,232,0.45); line-height:1.9; margin-bottom:2.5rem; }
.cta-wpp {
  display:inline-flex; align-items:center; gap:0.8rem;
  padding:1.1rem 2.2rem; background:#25D366; color:white;
  font-size:0.72rem; font-weight:500; letter-spacing:0.15em;
  text-transform:uppercase; text-decoration:none; border-radius:2px;
  transition:background 0.3s, transform 0.3s;
}
.cta-wpp:hover { background:#1da955; transform:translateY(-2px); }
.cta-tel { display:block; margin-top:1rem; font-family:'Fraunces',serif; font-style:italic; font-size:0.82rem; color:rgba(245,240,232,0.25); }
.cta-cards { position:relative; z-index:1; display:flex; flex-direction:column; gap:1rem; }
.cta-card {
  padding:1.4rem 1.6rem; background:rgba(245,240,232,0.04);
  border:1px solid rgba(245,240,232,0.07); border-left:3px solid var(--ouro);
  display:flex; gap:1rem; align-items:flex-start;
}
.cta-card-ic { flex-shrink:0; color:var(--ouro); margin-top:1px; }
.cta-card h4 { font-size:0.8rem; font-weight:500; color:var(--areia); margin-bottom:0.25rem; }
.cta-card p { font-size:0.73rem; font-weight:300; color:rgba(245,240,232,0.4); line-height:1.7; }

/* FOOTER */
footer { background:var(--preto); padding:4rem 5vw 2rem; }
.footer-top {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem;
  padding-bottom:3rem; border-bottom:1px solid rgba(245,240,232,0.07); margin-bottom:2rem;
}
.f-logo { height:52px; width:auto; margin-bottom:0.8rem; opacity:0.85; }
.f-tag { font-family:'Fraunces',serif; font-style:italic; font-size:0.82rem; color:rgba(245,240,232,0.28); line-height:1.7; max-width:220px; margin-bottom:1.2rem; }
.f-end { font-size:0.68rem; font-weight:300; color:rgba(245,240,232,0.2); line-height:1.8; }
.f-col h5 { font-size:0.57rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--ouro); margin-bottom:1.2rem; }
.f-col a { display:block; font-size:0.75rem; font-weight:300; color:rgba(245,240,232,0.35); text-decoration:none; margin-bottom:0.6rem; transition:color 0.3s; }
.f-col a:hover { color:var(--areia); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; }
.f-copy { font-size:0.6rem; color:rgba(245,240,232,0.18); }
.f-edr { font-family:'Fraunces',serif; font-style:italic; font-size:0.72rem; color:rgba(245,240,232,0.18); }
.f-edr b { color:rgba(201,168,76,0.4); font-weight:400; }

/* FLOAT WPP */
.float-wpp {
  position:fixed; bottom:calc(1.8rem + env(safe-area-inset-bottom, 0px)); right:1.8rem; z-index:250;
  display:flex; align-items:center; gap:0.6rem;
  padding:0.85rem 1.3rem; background:#25D366; color:white;
  font-size:0.63rem; font-weight:500; letter-spacing:0.12em;
  text-transform:uppercase; text-decoration:none; border-radius:2px;
  box-shadow:0 6px 24px rgba(37,211,102,0.3);
  animation:pulse 3s ease-in-out infinite;
  transition:transform 0.3s, box-shadow 0.3s;
}
.float-wpp:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(37,211,102,0.4); }
@keyframes pulse {
  0%,100%{ box-shadow:0 6px 24px rgba(37,211,102,0.3); }
  50%{ box-shadow:0 6px 36px rgba(37,211,102,0.5); }
}

/* REVEAL */
.reveal { opacity:0; transform:translateY(26px); transition:opacity 0.85s cubic-bezier(0.16,1,0.3,1), transform 0.85s cubic-bezier(0.16,1,0.3,1); }
.reveal.d1 { transition-delay:0.1s; }
.reveal.d2 { transition-delay:0.2s; }
.reveal.d3 { transition-delay:0.3s; }
.reveal.visible { opacity:1; transform:translateY(0); }
@keyframes fadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }

/* NOSCRIPT FALLBACK */
.no-js .reveal { opacity:1; transform:none; }

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  *, *::before, *::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* MOBILE */
@media(max-width:900px){
  .hamburger { display:flex; }
  .nav-links { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-right { min-height:60vw; }
  .hero-right img { height:60vw; }
  .section-nums { grid-template-columns:repeat(2,1fr); }
  .num-item { border-right:none; border-bottom:1px solid rgba(245,240,232,0.1); }
  .num-item:nth-child(even) { border-left:1px solid rgba(245,240,232,0.1); }
  .num-item:nth-last-child(-n+2) { border-bottom:none; }
  .section-sobre { grid-template-columns:1fr; gap:2.5rem; }
  .sobre-fotos { height:auto; min-height:220px; }
  .servicos-grid { grid-template-columns:1fr 1fr; }
  .portfolio-grid { grid-template-columns:1fr; }
  .p-item img { height:260px; }
  .depo-grid { grid-template-columns:1fr; }

  .processo-grid { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .processo-grid::before { display:none; }
  .mcmv-faixas { grid-template-columns:1fr 1fr; }
  .section-cta { grid-template-columns:1fr; gap:3rem; }
  .footer-top { grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .servicos-grid { grid-template-columns:1fr; }

  .processo-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:0.5rem; text-align:center; }
  .section-nums { grid-template-columns:repeat(2,1fr); }
  .hero-left { padding:6rem 5vw 3rem; }
  .mikael-bloco img { height:240px; }
  .depo-card { padding:1.8rem 1.5rem; }
  .depo-txt { font-size:0.92rem; }
  .mcmv-faixas { grid-template-columns:1fr; }
  .mcmv-banner { flex-direction:column; }
}
