@font-face{
  font-family:'AvenirMEB';
  src:url('/assets/fonts/avenir-meb.ttf?v=20260519-231650') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --slate:#8397A1;
  --mint:#C7E3D6;
  --charcoal:#4A4A4A;
  --ink:#2F3638;
  --paper:#F8F8F5;
  --white:#FFFFFF;
  --line:#E4EBE8;
  --muted:#68777D;
  --max:1280px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:'AvenirMEB','Avenir Next',Avenir,system-ui,sans-serif;
  background:var(--paper);
  color:var(--charcoal);
}

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

.wrap{
  width:min(var(--max), calc(100% - 56px));
  margin:0 auto;
}

/* HEADER */

.header{
  background:rgba(248,248,245,.94);
  border-bottom:1px solid rgba(228,235,232,.8);
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:blur(12px);
}

.nav{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.logo{
  display:flex;
  align-items:center;
  line-height:0;
}

.logo img{
  max-width:245px;
  max-height:58px;
  object-fit:contain;
}

.menu{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--muted);
  font-size:15px;
}

.menu a{
  padding:10px 0;
}

.menu a:hover{
  color:var(--ink);
}

.menu .cta{
  background:var(--slate);
  color:white;
  padding:13px 20px;
  border-radius:999px;
  font-weight:700;
}

/* OPENING GREEN */

.opening-green{
  background:var(--mint);
  min-height:calc(100vh - 82px);
  display:flex;
  align-items:center;
  padding:78px 0 86px;
}

.opening-inner{
  width:100%;
  text-align:center;
}

.opening-logo{
  display:block;
  width:min(760px, 82vw);
  height:auto;
  margin:0 auto 46px;
}

.opening-kicker{
  margin:0 0 20px;
  color:#6D858E;
  font-size:12px;
  letter-spacing:.32em;
  text-transform:uppercase;
}

.opening-copy{
  max-width:780px;
  margin:0 auto;
}

.opening-copy h1{
  margin:0 0 20px;
  color:var(--ink);
  font-size:clamp(32px, 3.4vw, 54px);
  line-height:1.13;
  letter-spacing:-.045em;
  font-weight:400;
}

.opening-copy p{
  margin:0 auto;
  max-width:680px;
  color:#3F4C50;
  font-size:17px;
  line-height:1.7;
}

.opening-note{
  margin-top:24px !important;
  color:#6D858E !important;
  font-size:14px !important;
  letter-spacing:.06em;
}

/* SERVICES */

.services{
  background:white;
  padding:86px 0 96px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.services-head{
  max-width:850px;
  margin-bottom:42px;
}

.services-head h2{
  margin:0 0 12px;
  color:var(--ink);
  font-size:clamp(32px, 3vw, 48px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:400;
}

.services-head p{
  margin:0;
  max-width:780px;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
}

.service-card{
  min-height:245px;
  padding:25px 23px 24px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(131,151,161,.20);
  box-shadow:0 14px 34px rgba(47,53,56,.045);
}

.service-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  background:linear-gradient(180deg, rgba(199,227,214,.35), rgba(131,151,161,.08));
  border:1px solid rgba(199,227,214,.62);
}

.service-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:#8397A1;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.service-card h3{
  margin:0 0 11px;
  color:var(--ink);
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:400;
}

.service-card p{
  margin:0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.62;
}

/* FINAL HERO */

.final-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 20%, rgba(199,227,214,.30), transparent 20%),
    radial-gradient(circle at 8% 82%, rgba(131,151,161,.10), transparent 22%),
    linear-gradient(180deg, #FBFCFB 0%, #F5F7F6 100%);
  padding:104px 0 112px;
  text-align:center;
}

.final-hero::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-150px;
  width:430px;
  height:430px;
  border:1px solid rgba(131,151,161,.12);
  border-radius:50%;
}

.final-mark{
  position:absolute;
  right:9vw;
  top:26%;
  width:min(190px, 15vw);
  opacity:.07;
  pointer-events:none;
}

.final-inner{
  position:relative;
  z-index:2;
  max-width:820px;
  margin:0 auto;
}

.eyebrow{
  display:block;
  margin-bottom:18px;
  color:#8B989D;
  font-size:11px;
  letter-spacing:.34em;
  text-transform:uppercase;
}

.final-hero h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(38px, 4.2vw, 62px);
  line-height:1.06;
  letter-spacing:-.055em;
  font-weight:400;
}

.final-hero p{
  max-width:680px;
  margin:22px auto 0;
  color:var(--muted);
  font-size:clamp(15px, 1vw, 17px);
  line-height:1.65;
}

.final-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

.btn{
  min-height:43px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:white;
  color:var(--ink);
  font-weight:700;
  font-size:14px;
  transition:transform .18s ease;
}

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

.btn.primary{
  background:var(--slate);
  border-color:var(--slate);
  color:white;
}

/* FOOTER */

.footer{
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.72);
  padding:16px 0 18px;
}

.footer-row{
  min-height:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}

.footer-logo-img{
  max-width:150px;
  max-height:42px;
  object-fit:contain;
  opacity:.82;
}

.footer-copy{
  color:var(--muted);
  font-size:14px;
}

/* RESPONSIVE */

@media (max-width:1120px){
  .services-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .opening-logo{
    width:min(620px, 82vw);
  }
}

@media (max-width:680px){
  .wrap{
    width:min(var(--max), calc(100% - 28px));
  }

  .nav{
    min-height:auto;
    padding:15px 0;
    align-items:flex-start;
    flex-direction:column;
  }

  .logo img{
    max-width:215px;
  }

  .menu a:not(.cta){
    display:none;
  }

  .opening-green{
    min-height:auto;
    padding:58px 0 66px;
  }

  .opening-logo{
    width:min(330px, 86vw);
    margin-bottom:32px;
  }

  .opening-copy h1{
    font-size:31px;
  }

  .opening-copy p{
    font-size:16px;
  }

  .services{
    padding:58px 0 68px;
  }

  .services-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .service-card{
    min-height:auto;
    padding:21px 19px;
  }

  .final-hero{
    padding:72px 0 84px;
    text-align:left;
  }

  .final-hero p{
    margin-left:0;
    margin-right:0;
  }

  .final-actions{
    justify-content:flex-start;
  }

  .footer-row{
    justify-content:center;
    text-align:center;
  }
}

/* ===== MEBDIGITAL - GREEN COMPACT + PERSONALIZACAO START 20260519-231917 ===== */

.opening-green{
  min-height:auto !important;
  padding:86px 0 62px !important;
}

.opening-logo{
  width:min(560px, 68vw) !important;
  margin:0 auto 44px !important;
}

.opening-copy{
  max-width:760px !important;
  margin:0 auto !important;
}

.opening-kicker{
  margin:0 0 14px !important;
  font-size:12px !important;
  letter-spacing:.34em !important;
  color:#647C85 !important;
}

.opening-copy h1{
  max-width:760px !important;
  margin:0 auto 18px !important;
  font-size:clamp(28px, 2.7vw, 42px) !important;
  line-height:1.14 !important;
  letter-spacing:-.035em !important;
}

.opening-copy p{
  max-width:660px !important;
  font-size:15.5px !important;
  line-height:1.65 !important;
}

.opening-note{
  margin-top:18px !important;
  font-size:13.5px !important;
}

.services{
  padding-top:70px !important;
}

.custom-projects{
  background:#F8F8F5;
  padding:58px 0 28px;
}

.custom-projects-inner{
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  border-radius:30px;
  background:#2F3638;
  color:white;
  padding:42px;
  position:relative;
  overflow:hidden;
}

.custom-projects-inner::after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-92px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:1px solid rgba(199,227,214,.18);
}

.custom-projects-copy{
  position:relative;
  z-index:1;
  max-width:760px;
}

.custom-kicker{
  margin:0 0 12px;
  color:rgba(199,227,214,.78);
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.custom-projects h2{
  margin:0 0 14px;
  color:white;
  font-size:clamp(28px, 3vw, 46px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:400;
}

.custom-projects p{
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:15.5px;
  line-height:1.65;
}

.custom-projects .btn{
  position:relative;
  z-index:1;
  background:white;
  color:#2F3638;
  border-color:white;
  white-space:nowrap;
}

.final-hero{
  padding-top:76px !important;
}

@media (max-width:900px){
  .opening-green{
    padding:66px 0 54px !important;
  }

  .opening-logo{
    width:min(430px, 78vw) !important;
    margin-bottom:34px !important;
  }

  .custom-projects-inner{
    grid-template-columns:1fr;
    padding:32px;
  }
}

@media (max-width:680px){
  .opening-logo{
    width:min(320px, 86vw) !important;
  }

  .opening-copy h1{
    font-size:30px !important;
  }

  .opening-copy p{
    font-size:15px !important;
  }

  .services{
    padding-top:54px !important;
  }

  .custom-projects{
    padding:42px 0 22px;
  }

  .custom-projects-inner{
    padding:28px;
  }
}

/* ===== MEBDIGITAL - GREEN COMPACT + PERSONALIZACAO END 20260519-231917 ===== */

/* ===== MEBDIGITAL - GREEN SOBRE COMPACT START 20260519-232057 ===== */

.opening-green{
  min-height:auto !important;
  padding:48px 0 42px !important;
}

.opening-logo{
  width:min(620px, 72vw) !important;
  margin:0 auto 24px !important;
}

.opening-copy{
  max-width:1080px !important;
}

.opening-kicker{
  margin:0 0 10px !important;
  font-size:11px !important;
  letter-spacing:.34em !important;
}

.opening-copy h1{
  max-width:none !important;
  margin:0 auto 14px !important;
  font-size:clamp(22px, 1.65vw, 28px) !important;
  line-height:1.22 !important;
  letter-spacing:-.025em !important;
  white-space:nowrap !important;
}

.opening-copy p{
  max-width:680px !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

.opening-note{
  margin-top:14px !important;
  font-size:13px !important;
}

@media (max-width:900px){
  .opening-green{
    padding:42px 0 38px !important;
  }

  .opening-logo{
    width:min(430px, 78vw) !important;
    margin-bottom:22px !important;
  }

  .opening-copy h1{
    white-space:normal !important;
    font-size:clamp(24px, 5vw, 32px) !important;
  }
}

@media (max-width:680px){
  .opening-green{
    padding:38px 0 34px !important;
  }

  .opening-logo{
    width:min(320px, 86vw) !important;
    margin-bottom:20px !important;
  }

  .opening-copy h1{
    font-size:26px !important;
  }

  .opening-copy p{
    font-size:15px !important;
  }
}

/* ===== MEBDIGITAL - GREEN SOBRE COMPACT END 20260519-232057 ===== */

/* ===== MEBDIGITAL - SOBRE TEXTO FINO START 20260519-232350 ===== */

.opening-copy{
  text-align:center !important;
}

.opening-kicker{
  text-align:center !important;
  margin:0 0 10px !important;
}

.opening-copy h1{
  font-size:clamp(18px, 1.35vw, 24px) !important;
  line-height:1.28 !important;
  letter-spacing:-.015em !important;
  margin:0 auto 14px !important;
  max-width:900px !important;
  white-space:nowrap !important;
  text-align:center !important;
}

.opening-copy p{
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:15px !important;
  line-height:1.62 !important;
  text-align:center !important;
}

.opening-note{
  display:none !important;
}

@media (max-width:900px){
  .opening-copy h1{
    white-space:normal !important;
    font-size:22px !important;
  }
}

/* ===== MEBDIGITAL - SOBRE TEXTO FINO END 20260519-232350 ===== */

/* ===== MEBDIGITAL - SEPARAR LOGO E SOBRE START 20260519-232558 ===== */

.opening-green.logo-only{
  min-height:auto !important;
  padding:72px 0 58px !important;
  background:#C7E3D6 !important;
}

.logo-only .opening-inner{
  text-align:center !important;
}

.logo-only .opening-logo{
  width:min(620px, 72vw) !important;
  margin:0 auto !important;
  display:block !important;
}

.about-editorial{
  background:#F8F8F5;
  padding:54px 0 58px;
  border-bottom:1px solid #E4EBE8;
}

.about-editorial-inner{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}

.about-editorial-kicker{
  margin:0 0 18px;
  color:#8397A1;
  font-size:12px;
  letter-spacing:.34em;
  text-transform:uppercase;
}

.about-editorial-copy{
  max-width:760px;
  margin:0 auto;
}

.about-editorial-copy p{
  margin:0 auto 12px;
  color:#3F4C50;
  font-size:16px;
  line-height:1.65;
  letter-spacing:-.005em;
}

.about-editorial-copy p:last-child{
  margin-bottom:0;
}

.about-editorial-main{
  color:#2F3638 !important;
  font-size:clamp(18px, 1.35vw, 23px) !important;
  line-height:1.4 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap;
}

.services{
  padding-top:72px !important;
}

@media (max-width:900px){
  .opening-green.logo-only{
    padding:56px 0 48px !important;
  }

  .logo-only .opening-logo{
    width:min(460px, 82vw) !important;
  }

  .about-editorial{
    padding:44px 0 48px;
  }

  .about-editorial-main{
    white-space:normal !important;
  }
}

@media (max-width:680px){
  .opening-green.logo-only{
    padding:44px 0 38px !important;
  }

  .logo-only .opening-logo{
    width:min(320px, 86vw) !important;
  }

  .about-editorial{
    padding:38px 0 42px;
  }

  .about-editorial-copy p{
    font-size:15px;
  }

  .about-editorial-main{
    font-size:20px !important;
  }

  .services{
    padding-top:54px !important;
  }
}

/* ===== MEBDIGITAL - SEPARAR LOGO E SOBRE END 20260519-232558 ===== */

/* ===== MEBDIGITAL - SOBRE CINZA ESCURO START 20260519-232649 ===== */

.about-editorial{
  background:#2F3638 !important;
  border-bottom:1px solid rgba(199,227,214,.18) !important;
  padding:54px 0 58px !important;
}

.about-editorial-kicker{
  color:#C7E3D6 !important;
}

.about-editorial-main{
  color:#FFFFFF !important;
  font-size:clamp(18px, 1.25vw, 22px) !important;
  font-weight:400 !important;
}

.about-editorial-copy p{
  color:rgba(255,255,255,.72) !important;
}

.services{
  border-top:0 !important;
}

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

  .about-editorial-main{
    font-size:20px !important;
  }
}

/* ===== MEBDIGITAL - SOBRE CINZA ESCURO END 20260519-232649 ===== */

/* ===== MEBDIGITAL - HEADER BRANCO + SERVICOS START 20260519-233120 ===== */

/* Header branco */
.site-header,
.showcase-header,
.preview-header,
header.site-header,
header.showcase-header,
header.preview-header,
body .site-header,
body .showcase-header,
body .preview-header{
  background:#FFFFFF !important;
  background-color:#FFFFFF !important;
  border-bottom:1px solid rgba(95,118,128,.10) !important;
}

/* SOBRE */
.about-editorial-kicker{
  text-align:center !important;
}

.about-editorial-main{
  font-weight:700 !important;
}

/* Serviços - intro centrada e mais próxima da lógica do Sobre */
.services{
  padding-top:58px !important;
}

.services .container > h2:first-of-type,
.services .section-title:first-of-type{
  text-align:center !important;
  text-transform:uppercase !important;
  letter-spacing:.28em !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
  color:#C7E3D6 !important;
  margin:0 auto 14px auto !important;
  max-width:780px !important;
}

.services .container > p:first-of-type,
.services .section-intro:first-of-type,
.services .section-subtitle:first-of-type{
  text-align:center !important;
  font-size:16px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
  color:#7C868B !important;
  max-width:760px !important;
  margin:0 auto 36px auto !important;
}

/* Se existir bloco wrapper do topo da secção */
.services-header,
.services-head,
.services-intro,
.services-intro-wrap{
  text-align:center !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Ajuste mobile */
@media (max-width: 680px){
  .services{
    padding-top:44px !important;
  }

  .services .container > h2:first-of-type,
  .services .section-title:first-of-type{
    font-size:13px !important;
    letter-spacing:.22em !important;
  }

  .services .container > p:first-of-type,
  .services .section-intro:first-of-type,
  .services .section-subtitle:first-of-type{
    font-size:15px !important;
    line-height:1.6 !important;
    margin-bottom:28px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
}

/* ===== MEBDIGITAL - HEADER BRANCO + SERVICOS END 20260519-233120 ===== */

/* ===== MEBDIGITAL - HEADER BRANCO REAL + SERVICOS COMO SOBRE START 20260519-233302 ===== */

/* Cabeçalho branco real */
.header{
  background:#FFFFFF !important;
  background-color:#FFFFFF !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:1px solid rgba(131,151,161,.14) !important;
}

.nav{
  background:#FFFFFF !important;
}

/* Serviços com lógica visual igual ao Sobre */
.services{
  padding-top:58px !important;
}

.services-head{
  max-width:760px !important;
  margin:0 auto 38px auto !important;
  text-align:center !important;
}

.services-head h2{
  margin:0 0 16px !important;
  color:#8397A1 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
}

.services-head p{
  margin:0 auto !important;
  max-width:720px !important;
  color:#68777D !important;
  font-size:15px !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
  text-align:center !important;
}

/* Aproximar a grelha do título */
.services-grid{
  margin-top:0 !important;
}

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

  .services-head{
    margin-bottom:30px !important;
  }

  .services-head h2{
    font-size:11px !important;
    letter-spacing:.28em !important;
  }

  .services-head p{
    font-size:15px !important;
    line-height:1.6 !important;
  }
}

/* ===== MEBDIGITAL - HEADER BRANCO REAL + SERVICOS COMO SOBRE END 20260519-233302 ===== */

/* ===== MEBDIGITAL - PERSONALIZACAO AZUL ACINZENTADO START 20260519-234728 ===== */

.custom-projects-inner{
  background:#8397A1 !important;
  color:#FFFFFF !important;
}

.custom-projects-inner::after{
  border-color:rgba(255,255,255,.22) !important;
}

.custom-kicker{
  color:rgba(255,255,255,.78) !important;
}

.custom-projects h2{
  color:#FFFFFF !important;
}

.custom-projects p{
  color:rgba(255,255,255,.82) !important;
}

.custom-projects .btn{
  background:#FFFFFF !important;
  color:#4A4A4A !important;
  border-color:#FFFFFF !important;
}

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

/* ===== MEBDIGITAL - PERSONALIZACAO AZUL ACINZENTADO END 20260519-234728 ===== */

/* ===== MEBDIGITAL - SOBRE AZUL / PERSONALIZACAO CINZA START 20260519-234950 ===== */

/* Bloco SOBRE passa para o azul acinzentado do logo */
.about-editorial{
  background:#8397A1 !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
}

.about-editorial-kicker{
  color:rgba(255,255,255,.76) !important;
}

.about-editorial-main{
  color:#FFFFFF !important;
  font-weight:700 !important;
}

.about-editorial-copy p{
  color:rgba(255,255,255,.82) !important;
}

/* Caixa Personalização volta ao cinza escuro */
.custom-projects-inner{
  background:#2F3638 !important;
  color:#FFFFFF !important;
}

.custom-projects-inner::after{
  border-color:rgba(199,227,214,.18) !important;
}

.custom-kicker{
  color:rgba(199,227,214,.78) !important;
}

.custom-projects h2{
  color:#FFFFFF !important;
}

.custom-projects p{
  color:rgba(255,255,255,.74) !important;
}

.custom-projects .btn{
  background:#FFFFFF !important;
  color:#2F3638 !important;
  border-color:#FFFFFF !important;
}

/* ===== MEBDIGITAL - SOBRE AZUL / PERSONALIZACAO CINZA END 20260519-234950 ===== */

/* ===== MEBDIGITAL - PERSONALIZACAO COMO SOBRE START 20260519-235428 ===== */

.custom-projects{
  background:#8397A1 !important;
  padding:54px 0 58px !important;
}

.custom-projects-inner{
  display:block !important;
  max-width:900px !important;
  margin:0 auto !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#FFFFFF !important;
  text-align:center !important;
  overflow:visible !important;
}

.custom-projects-inner::after{
  display:none !important;
}

.custom-projects-copy{
  max-width:760px !important;
  margin:0 auto !important;
}

.custom-kicker{
  margin:0 0 18px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  text-align:center !important;
}

.custom-projects h2{
  margin:0 auto 14px !important;
  max-width:980px !important;
  color:#FFFFFF !important;
  font-size:clamp(18px, 1.25vw, 22px) !important;
  line-height:1.4 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
  text-align:center !important;
  white-space:nowrap !important;
}

.custom-projects p{
  margin:0 auto !important;
  max-width:720px !important;
  color:rgba(255,255,255,.82) !important;
  font-size:15px !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
  text-align:center !important;
}

.custom-projects .btn{
  display:inline-flex !important;
  margin:24px auto 0 !important;
  background:#FFFFFF !important;
  color:#4A4A4A !important;
  border-color:#FFFFFF !important;
  min-height:43px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.custom-projects .btn:hover{
  transform:translateY(-2px) !important;
}

@media (max-width:900px){
  .custom-projects h2{
    white-space:normal !important;
  }
}

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

  .custom-kicker{
    font-size:11px !important;
    letter-spacing:.28em !important;
  }

  .custom-projects h2{
    font-size:20px !important;
  }

  .custom-projects p{
    font-size:15px !important;
    line-height:1.6 !important;
  }
}

/* ===== MEBDIGITAL - PERSONALIZACAO COMO SOBRE END 20260519-235428 ===== */

/* ===== MEBDIGITAL - PERSONALIZACAO FINAL START 20260519-235558 ===== */

.custom-kicker{
  margin:0 0 18px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  text-align:center !important;
}

.custom-projects h2{
  font-size:clamp(18px, 1.25vw, 22px) !important;
  line-height:1.4 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
}

.custom-projects .btn{
  text-transform:none !important;
}

/* ===== MEBDIGITAL - PERSONALIZACAO FINAL END 20260519-235558 ===== */

/* ===== MEBDIGITAL - KICKERS IGUAIS START 20260519-235809 ===== */

.about-editorial-kicker,
.services-head h2,
.custom-kicker{
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  text-align:center !important;
}

/* ===== MEBDIGITAL - KICKERS IGUAIS END 20260519-235809 ===== */

/* ===== MEBDIGITAL - CONTACTOS START 20260520-135138 ===== */

.service-card{
  display:flex;
  flex-direction:column;
  color:inherit;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.service-card:hover,
.service-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(131,151,161,.42);
  box-shadow:0 18px 40px rgba(47,54,56,.075);
}

.service-card:focus-visible{
  outline:2px solid #8397A1;
  outline-offset:4px;
}

.contact-page{
  background:#F8F8F5;
}

.contact-hero{
  background:#C7E3D6;
  padding:84px 0 76px;
  border-bottom:1px solid rgba(131,151,161,.18);
  text-align:center;
}

.contact-hero-inner{
  max-width:920px;
  margin:0 auto;
}

.contact-kicker{
  margin:0 0 18px;
  color:#647C85;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.34em;
  text-transform:uppercase;
}

.contact-hero h1{
  margin:0 auto;
  max-width:900px;
  color:#2F3638;
  font-size:clamp(34px, 4vw, 58px);
  line-height:1.08;
  letter-spacing:0;
  font-weight:400;
}

.contact-lead{
  margin:22px auto 0;
  max-width:680px;
  color:#3F4C50;
  font-size:17px;
  line-height:1.68;
}

.contact-section{
  background:#F8F8F5;
  padding:68px 0 88px;
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(250px, .72fr) minmax(0, 1.28fr);
  gap:30px;
  align-items:start;
}

.contact-aside,
.contact-panel{
  background:#FFFFFF;
  border:1px solid rgba(131,151,161,.18);
  border-radius:26px;
  box-shadow:0 16px 38px rgba(47,54,56,.045);
}

.contact-aside{
  position:sticky;
  top:108px;
  padding:34px;
}

.contact-aside-logo{
  display:block;
  width:min(220px, 100%);
  height:auto;
  margin:0 0 28px;
}

.contact-aside p{
  margin:0;
  color:#68777D;
  font-size:15.5px;
  line-height:1.66;
}

.contact-email{
  display:inline-flex;
  margin-top:24px;
  color:#2F3638;
  font-weight:700;
  border-bottom:1px solid rgba(131,151,161,.38);
  padding-bottom:3px;
}

.service-badge{
  display:inline-flex;
  margin-top:24px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(199,227,214,.54);
  color:#2F3638;
  font-size:13px;
  line-height:1.2;
}

.service-badge[hidden],
.form-message[hidden]{
  display:none !important;
}

.contact-panel{
  padding:38px;
}

.contact-form{
  display:grid;
  gap:18px;
}

.form-field label{
  display:block;
  margin:0 0 9px;
  color:#2F3638;
  font-size:14px;
  font-weight:700;
}

.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid rgba(131,151,161,.28);
  border-radius:18px;
  background:#FBFCFB;
  color:#2F3638;
  font:inherit;
  font-size:16px;
  line-height:1.5;
  padding:15px 16px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.form-field textarea{
  min-height:190px;
  resize:vertical;
}

.form-field input:focus,
.form-field textarea:focus{
  border-color:#8397A1;
  background:#FFFFFF;
  box-shadow:0 0 0 4px rgba(199,227,214,.38);
}

.contact-submit{
  justify-self:start;
  min-width:168px;
  border:0;
  cursor:pointer;
}

.form-message{
  margin:0;
  border-radius:18px;
  padding:14px 16px;
  font-size:14.5px;
  line-height:1.5;
}

.form-message.success{
  background:rgba(199,227,214,.50);
  color:#2F3638;
  border:1px solid rgba(199,227,214,.88);
}

.form-message.error{
  background:#FFFFFF;
  color:#2F3638;
  border:1px solid rgba(131,151,161,.42);
}

.hp-field{
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

@media (max-width:900px){
  .contact-hero{
    padding:68px 0 62px;
  }

  .contact-layout{
    grid-template-columns:1fr;
  }

  .contact-aside{
    position:static;
  }
}

@media (max-width:680px){
  .contact-hero{
    padding:54px 0 52px;
    text-align:left;
  }

  .contact-kicker{
    font-size:11px;
    letter-spacing:.28em;
  }

  .contact-hero h1{
    font-size:34px;
  }

  .contact-lead{
    font-size:15.5px;
  }

  .contact-section{
    padding:42px 0 58px;
  }

  .contact-aside,
  .contact-panel{
    border-radius:22px;
  }

  .contact-aside,
  .contact-panel{
    padding:24px;
  }

  .contact-submit{
    width:100%;
  }
}

/* ===== MEBDIGITAL - CONTACTOS END 20260520-135138 ===== */

/* ===== MEBDIGITAL - AJUSTE BLOCOS START 20260520-140250 ===== */

#sobre{
  scroll-margin-top:clamp(150px, 24vh, 230px);
}

.about-editorial,
.custom-projects,
.contact-hero{
  padding-top:70px !important;
  padding-bottom:74px !important;
}

.about-editorial-inner,
.custom-projects-inner,
.contact-hero-inner{
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.about-editorial-kicker,
.services-head h2,
.custom-kicker,
.contact-kicker{
  margin:0 0 18px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  text-align:center !important;
}

.about-editorial-main,
.custom-projects h2,
.contact-hero h1{
  margin:0 auto 14px !important;
  max-width:980px !important;
  color:inherit;
  font-size:clamp(18px, 1.25vw, 22px) !important;
  line-height:1.4 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
  text-align:center !important;
  white-space:normal !important;
}

.about-editorial-copy p,
.services-head p,
.custom-projects p,
.contact-lead{
  margin:0 auto !important;
  max-width:720px !important;
  font-size:15px !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
  text-align:center !important;
}

.about-editorial-copy p:not(.about-editorial-main){
  margin:0 auto !important;
  color:rgba(255,255,255,.82) !important;
}

.about-editorial-copy .about-editorial-main{
  margin:0 auto 14px !important;
  max-width:980px !important;
  font-size:clamp(18px, 1.25vw, 22px) !important;
  line-height:1.4 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
  text-align:center !important;
}

.contact-hero{
  min-height:0 !important;
}

.contact-hero h1{
  color:#2F3638 !important;
}

.contact-lead{
  color:#3F4C50 !important;
}

@media (max-width:680px){
  #sobre{
    scroll-margin-top:118px;
  }

  .about-editorial,
  .custom-projects,
  .contact-hero{
    padding-top:46px !important;
    padding-bottom:50px !important;
  }

  .about-editorial-kicker,
  .services-head h2,
  .custom-kicker,
  .contact-kicker{
    font-size:11px !important;
    letter-spacing:.28em !important;
  }

  .about-editorial-main,
  .custom-projects h2,
  .contact-hero h1{
    font-size:20px !important;
  }

  .about-editorial-copy p,
  .services-head p,
  .custom-projects p,
  .contact-lead{
    font-size:15px !important;
    line-height:1.6 !important;
  }
}

/* ===== MEBDIGITAL - AJUSTE BLOCOS END 20260520-140250 ===== */

/* ===== MEBDIGITAL - SERVICOS FOOTER START 20260520-141506 ===== */

#servicos,
#personalizacao{
  scroll-margin-top:clamp(150px, 24vh, 230px);
}

.services{
  padding-top:70px !important;
}

.services-head{
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.final-hero{
  padding-top:70px !important;
  padding-bottom:74px !important;
  text-align:center !important;
}

.final-inner{
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.eyebrow{
  margin:0 0 18px !important;
  color:#8397A1 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  text-align:center !important;
}

.final-hero h2{
  margin:0 auto 14px !important;
  max-width:980px !important;
  color:#2F3638 !important;
  font-size:clamp(18px, 1.25vw, 22px) !important;
  line-height:1.4 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
  text-align:center !important;
}

.final-hero p{
  margin:0 auto !important;
  max-width:720px !important;
  color:#68777D !important;
  font-size:15px !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
  text-align:center !important;
}

.final-actions{
  margin-top:24px !important;
}

.custom-projects .custom-kicker{
  margin:0 0 18px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  text-align:center !important;
}

.footer{
  background:#FFFFFF !important;
  border-top:1px solid rgba(131,151,161,.16) !important;
  padding:22px 0 !important;
}

.footer-row{
  min-height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  flex-wrap:wrap !important;
  text-align:left !important;
}

.footer-copy{
  color:#68777D !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

.footer-contacts{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
}

.footer-contact{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#2F3638;
  font-size:14px;
  line-height:1.4;
  white-space:nowrap;
}

.footer-contact svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:#8397A1;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-contact:hover{
  color:#8397A1;
}

@media (max-width:680px){
  #servicos,
  #personalizacao{
    scroll-margin-top:118px;
  }

  .services{
    padding-top:46px !important;
  }

  .final-hero{
    padding-top:46px !important;
    padding-bottom:50px !important;
  }

  .eyebrow{
    font-size:11px !important;
    letter-spacing:.28em !important;
  }

  .final-hero h2{
    font-size:20px !important;
  }

  .final-hero p{
    font-size:15px !important;
    line-height:1.6 !important;
  }

  .final-actions{
    justify-content:center !important;
  }

  .custom-projects .custom-kicker{
    font-size:11px !important;
    letter-spacing:.28em !important;
  }

  .footer-row{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .footer-contacts{
    justify-content:flex-start;
    gap:12px 16px;
  }
}

/* ===== MEBDIGITAL - SERVICOS FOOTER END 20260520-141506 ===== */

/* ===== MEBDIGITAL - ICONES WHATSAPP START 20260520-142724 ===== */

.service-icon{
  background:
    linear-gradient(145deg, rgba(199,227,214,.52), rgba(131,151,161,.10)) !important;
  border-color:rgba(199,227,214,.72) !important;
}

.service-card:nth-child(even) .service-icon{
  background:
    linear-gradient(145deg, rgba(131,151,161,.13), rgba(199,227,214,.46)) !important;
}

.service-icon svg{
  width:30px !important;
  height:30px !important;
}

.service-icon svg *{
  fill:none;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.service-icon .icon-primary{
  stroke:#8397A1;
}

.service-icon .icon-accent{
  stroke:#8FC4B1;
}

.service-card:nth-child(even) .service-icon .icon-primary{
  stroke:#7FA5AF;
}

.service-card:nth-child(even) .service-icon .icon-accent{
  stroke:#C7E3D6;
}

.contact-aside-logo{
  width:100% !important;
  max-width:none !important;
  margin:0 0 34px !important;
}

.contact-email{
  display:inline-flex;
  color:#2F3638;
  font-weight:700;
  border-bottom:1px solid rgba(131,151,161,.38);
  padding-bottom:3px;
}

.contact-email{
  margin-top:24px !important;
}

.contact-email:hover{
  color:#8397A1;
}

@media (max-width:680px){
  .contact-aside-logo{
    width:min(320px, 100%) !important;
  }
}

/* ===== MEBDIGITAL - ICONES WHATSAPP END 20260520-142724 ===== */

/* ===== MEBDIGITAL - SERVICOS CORES CONTACTOS START 20260520-143338 ===== */

.service-card{
  min-height:245px !important;
  border-radius:26px !important;
  border:1px solid rgba(131,151,161,.18) !important;
}

.service-card:nth-child(odd){
  background:linear-gradient(180deg, rgba(199,227,214,.34), rgba(255,255,255,.94)) !important;
  border-color:rgba(199,227,214,.72) !important;
}

.service-card:nth-child(even){
  background:linear-gradient(180deg, rgba(131,151,161,.18), rgba(255,255,255,.95)) !important;
  border-color:rgba(131,151,161,.30) !important;
}

.service-card h3{
  margin:0 0 12px !important;
  color:#2F3638 !important;
  font-size:18px !important;
  line-height:1.32 !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}

.service-card p{
  margin:0 !important;
  color:#68777D !important;
  font-size:15px !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}

.service-icon{
  background:rgba(255,255,255,.72) !important;
  border-color:rgba(255,255,255,.85) !important;
  box-shadow:inset 0 0 0 1px rgba(131,151,161,.08);
}

.service-icon .icon-primary,
.service-icon .icon-accent,
.service-card:nth-child(even) .service-icon .icon-primary,
.service-card:nth-child(even) .service-icon .icon-accent{
  stroke:#8397A1 !important;
}

.contact-email{
  display:flex !important;
  width:fit-content;
}

@media (max-width:680px){
  .service-card{
    min-height:auto !important;
  }

  .service-card h3{
    font-size:18px !important;
  }

  .service-card p{
    font-size:15px !important;
  }
}

/* ===== MEBDIGITAL - SERVICOS CORES CONTACTOS END 20260520-143338 ===== */

/* ===== MEBDIGITAL - ZIGZAG HERO START 20260520-144503 ===== */

.opening-green.logo-only{
  background:linear-gradient(45deg, #C7E3D6 0 49.95%, #8397A1 50.05% 100%) !important;
  padding:88px 0 82px !important;
}

.logo-only .opening-logo{
  width:min(620px, 72vw) !important;
  filter:drop-shadow(0 16px 28px rgba(47,54,56,.10));
}

.service-card:nth-child(odd),
.service-card:nth-child(even){
  background:none !important;
  box-shadow:0 16px 38px rgba(47,54,56,.055) !important;
}

.service-card:nth-child(1),
.service-card:nth-child(3),
.service-card:nth-child(6),
.service-card:nth-child(8){
  background-color:#C7E3D6 !important;
  border-color:rgba(131,151,161,.12) !important;
  color:#2F3638 !important;
}

.service-card:nth-child(2),
.service-card:nth-child(4),
.service-card:nth-child(5),
.service-card:nth-child(7){
  background-color:#8397A1 !important;
  border-color:rgba(47,54,56,.08) !important;
  color:#FFFFFF !important;
}

.service-card:nth-child(2) h3,
.service-card:nth-child(4) h3,
.service-card:nth-child(5) h3,
.service-card:nth-child(7) h3{
  color:#FFFFFF !important;
}

.service-card:nth-child(2) p,
.service-card:nth-child(4) p,
.service-card:nth-child(5) p,
.service-card:nth-child(7) p{
  color:rgba(255,255,255,.84) !important;
}

.service-card:nth-child(1) h3,
.service-card:nth-child(3) h3,
.service-card:nth-child(6) h3,
.service-card:nth-child(8) h3{
  color:#2F3638 !important;
}

.service-card:nth-child(1) p,
.service-card:nth-child(3) p,
.service-card:nth-child(6) p,
.service-card:nth-child(8) p{
  color:#3F4C50 !important;
}

.service-card .service-icon{
  background:rgba(255,255,255,.58) !important;
  border-color:rgba(255,255,255,.72) !important;
}

.service-card:nth-child(2) .service-icon,
.service-card:nth-child(4) .service-icon,
.service-card:nth-child(5) .service-icon,
.service-card:nth-child(7) .service-icon{
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.28) !important;
}

.service-card:nth-child(2) .service-icon .icon-primary,
.service-card:nth-child(2) .service-icon .icon-accent,
.service-card:nth-child(4) .service-icon .icon-primary,
.service-card:nth-child(4) .service-icon .icon-accent,
.service-card:nth-child(5) .service-icon .icon-primary,
.service-card:nth-child(5) .service-icon .icon-accent,
.service-card:nth-child(7) .service-icon .icon-primary,
.service-card:nth-child(7) .service-icon .icon-accent{
  stroke:#FFFFFF !important;
}

@media (max-width:900px){
  .opening-green.logo-only{
    padding:70px 0 66px !important;
  }
}

@media (max-width:680px){
  .opening-green.logo-only{
    background:linear-gradient(45deg, #C7E3D6 0 49.95%, #8397A1 50.05% 100%) !important;
    padding:56px 0 54px !important;
  }

  .logo-only .opening-logo{
    width:min(330px, 86vw) !important;
  }
}

/* ===== MEBDIGITAL - ZIGZAG HERO END 20260520-144503 ===== */

/* ===== MEBDIGITAL - SOLIDO HERO SERVICOS START 20260520-145101 ===== */

.opening-green.logo-only{
  background:#8397A1 !important;
  padding:88px 0 82px !important;
}

.logo-only .opening-inner{
  position:relative;
}

.logo-only .opening-inner::before{
  content:"";
  display:block;
  width:min(620px, 72vw);
  aspect-ratio:1235 / 399;
  margin:0 auto;
  background:#C7E3D6;
  -webkit-mask:url('/assets/logo-about-logomebsf.png?v=solido-hero-servicos-20260520-145101') center / contain no-repeat;
  mask:url('/assets/logo-about-logomebsf.png?v=solido-hero-servicos-20260520-145101') center / contain no-repeat;
  filter:drop-shadow(0 14px 24px rgba(47,54,56,.10));
}

.logo-only .opening-logo{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.about-editorial{
  background:#C7E3D6 !important;
  border-bottom:1px solid rgba(131,151,161,.16) !important;
}

.about-editorial-kicker{
  color:#8397A1 !important;
}

.about-editorial-main{
  color:#2F3638 !important;
}

.about-editorial-copy p,
.about-editorial-copy p:not(.about-editorial-main){
  color:#3F4C50 !important;
}

.services-grid .service-card,
.services-grid .service-card:nth-child(odd),
.services-grid .service-card:nth-child(even),
.services-grid .service-card:nth-child(1),
.services-grid .service-card:nth-child(2),
.services-grid .service-card:nth-child(3),
.services-grid .service-card:nth-child(4),
.services-grid .service-card:nth-child(5),
.services-grid .service-card:nth-child(6),
.services-grid .service-card:nth-child(7),
.services-grid .service-card:nth-child(8){
  background:#FFFFFF !important;
  border-color:rgba(131,151,161,.20) !important;
  color:#2F3638 !important;
  box-shadow:0 16px 38px rgba(47,54,56,.05) !important;
}

.services-grid .service-card h3,
.services-grid .service-card:nth-child(odd) h3,
.services-grid .service-card:nth-child(even) h3{
  color:#2F3638 !important;
  font-size:18px !important;
  line-height:1.32 !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}

.services-grid .service-card p,
.services-grid .service-card:nth-child(odd) p,
.services-grid .service-card:nth-child(even) p{
  color:#2F3638 !important;
  font-size:15px !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}

.services-grid .service-card .service-icon{
  background:rgba(199,227,214,.24) !important;
  border-color:rgba(199,227,214,.72) !important;
}

.services-grid .service-card:nth-child(even) .service-icon{
  background:#8397A1 !important;
  border-color:#8397A1 !important;
}

.services-grid .service-card:nth-child(odd) .service-icon .icon-primary,
.services-grid .service-card:nth-child(odd) .service-icon .icon-accent{
  stroke:#8397A1 !important;
}

.services-grid .service-card:nth-child(even) .service-icon .icon-primary,
.services-grid .service-card:nth-child(even) .service-icon .icon-accent{
  stroke:#C7E3D6 !important;
}

@media (max-width:680px){
  .opening-green.logo-only{
    background:#8397A1 !important;
    padding:56px 0 54px !important;
  }

  .logo-only .opening-inner::before{
    width:min(330px, 86vw);
  }
}

/* ===== MEBDIGITAL - SOLIDO HERO SERVICOS END 20260520-145101 ===== */

/* ===== MEBDIGITAL - SERVICOS EDITORIAL START 20260520-145512 ===== */

.services{
  background:#F8F8F5 !important;
  border-top:1px solid rgba(131,151,161,.12) !important;
  border-bottom:1px solid rgba(131,151,161,.12) !important;
}

.services-grid{
  gap:18px !important;
}

.services-grid .service-card,
.services-grid .service-card:nth-child(odd),
.services-grid .service-card:nth-child(even),
.services-grid .service-card:nth-child(1),
.services-grid .service-card:nth-child(2),
.services-grid .service-card:nth-child(3),
.services-grid .service-card:nth-child(4),
.services-grid .service-card:nth-child(5),
.services-grid .service-card:nth-child(6),
.services-grid .service-card:nth-child(7),
.services-grid .service-card:nth-child(8){
  position:relative !important;
  min-height:228px !important;
  padding:30px 24px 26px !important;
  border-radius:18px !important;
  background:#FFFFFF !important;
  border:1px solid rgba(131,151,161,.16) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.services-grid .service-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:#C7E3D6;
}

.services-grid .service-card:nth-child(even)::before{
  background:#8397A1;
}

.services-grid .service-card:hover,
.services-grid .service-card:focus-visible{
  transform:translateY(-2px) !important;
  border-color:rgba(131,151,161,.28) !important;
  box-shadow:0 16px 34px rgba(47,54,56,.055) !important;
}

.services-grid .service-card .service-icon{
  width:34px !important;
  height:34px !important;
  margin:0 0 24px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  justify-content:flex-start !important;
}

.services-grid .service-card .service-icon svg{
  width:31px !important;
  height:31px !important;
}

.services-grid .service-card:nth-child(odd) .service-icon .icon-primary,
.services-grid .service-card:nth-child(odd) .service-icon .icon-accent{
  stroke:#8397A1 !important;
}

.services-grid .service-card:nth-child(even) .service-icon .icon-primary,
.services-grid .service-card:nth-child(even) .service-icon .icon-accent{
  stroke:#7BAF9E !important;
}

.services-grid .service-card h3,
.services-grid .service-card:nth-child(odd) h3,
.services-grid .service-card:nth-child(even) h3{
  margin:0 0 13px !important;
  max-width:250px !important;
  color:#2F3638 !important;
  font-size:18px !important;
  line-height:1.28 !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}

.services-grid .service-card p,
.services-grid .service-card:nth-child(odd) p,
.services-grid .service-card:nth-child(even) p{
  margin:0 !important;
  color:#3F4C50 !important;
  font-size:15px !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}

@media (max-width:680px){
  .services-grid{
    gap:14px !important;
  }

  .services-grid .service-card,
  .services-grid .service-card:nth-child(odd),
  .services-grid .service-card:nth-child(even){
    min-height:auto !important;
    padding:26px 22px 24px !important;
    border-radius:16px !important;
  }
}

/* ===== MEBDIGITAL - SERVICOS EDITORIAL END 20260520-145512 ===== */

/* ===== MEBDIGITAL - SERVICOS SEM FUNDO VERDE START 20260520-150024 ===== */

.services-grid .service-card .service-icon,
.services-grid .service-card:nth-child(odd) .service-icon,
.services-grid .service-card:nth-child(even) .service-icon,
.services-grid .service-card:nth-child(1) .service-icon,
.services-grid .service-card:nth-child(2) .service-icon,
.services-grid .service-card:nth-child(3) .service-icon,
.services-grid .service-card:nth-child(4) .service-icon,
.services-grid .service-card:nth-child(5) .service-icon,
.services-grid .service-card:nth-child(6) .service-icon,
.services-grid .service-card:nth-child(7) .service-icon,
.services-grid .service-card:nth-child(8) .service-icon{
  width:32px !important;
  height:32px !important;
  margin:0 0 24px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.services-grid .service-card .service-icon svg{
  display:block !important;
}

.custom-projects{
  background:#C7E3D6 !important;
  border-top:1px solid rgba(131,151,161,.14) !important;
}

.custom-kicker,
.custom-projects .custom-kicker{
  color:#8397A1 !important;
}

.custom-projects h2{
  color:#2F3638 !important;
}

.custom-projects p{
  color:#3F4C50 !important;
}

.custom-projects .btn{
  background:#8397A1 !important;
  border-color:#8397A1 !important;
  color:#FFFFFF !important;
}

/* ===== MEBDIGITAL - SERVICOS SEM FUNDO VERDE END 20260520-150024 ===== */

/* ===== MEBDIGITAL - FINAL AZUL START 20260520-150317 ===== */

.final-hero{
  background:#8397A1 !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
}

.final-hero::after,
.final-mark{
  display:none !important;
}

.final-hero .eyebrow{
  color:rgba(199,227,214,.86) !important;
}

.final-hero h2{
  color:#FFFFFF !important;
}

.final-hero p{
  color:rgba(255,255,255,.84) !important;
}

.final-hero .btn.primary{
  background:#FFFFFF !important;
  border-color:#FFFFFF !important;
  color:#2F3638 !important;
}

.final-hero .btn:not(.primary){
  background:transparent !important;
  border-color:rgba(255,255,255,.52) !important;
  color:#FFFFFF !important;
}

/* ===== MEBDIGITAL - FINAL AZUL END 20260520-150317 ===== */

/* ===== MEBDIGITAL - RODAPE FAVICON START 20260520-150900 ===== */

.footer-row{
  position:relative !important;
}

.footer-center-mark{
  position:absolute;
  left:50%;
  top:50%;
  width:34px;
  height:34px;
  object-fit:contain;
  transform:translate(-50%, -50%);
  opacity:.9;
}

@media (max-width:900px){
  .footer-row{
    justify-content:center !important;
    text-align:center !important;
  }

  .footer-center-mark{
    position:static;
    order:2;
    transform:none;
    margin:4px auto;
  }

  .footer-copy{
    order:1;
    width:100%;
  }

  .footer-contacts{
    order:3;
    width:100%;
    justify-content:center !important;
  }
}

/* ===== MEBDIGITAL - RODAPE FAVICON END 20260520-150900 ===== */

/* ===== MEBDIGITAL - HERO FULL HEADER SCROLL START 20260520-151539 ===== */

.home-page .header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  transform:translateY(-110%);
  transition:transform .28s ease, box-shadow .28s ease;
  box-shadow:0 10px 26px rgba(47,54,56,0);
}

.home-page.header-visible .header{
  transform:translateY(0);
  box-shadow:0 10px 26px rgba(47,54,56,.055);
}

.home-page .opening-green.logo-only{
  min-height:100vh !important;
  min-height:100svh !important;
  padding:0 !important;
}

.home-page .logo-only .opening-inner::before{
  width:min(680px, 72vw);
}

@media (max-width:680px){
  .home-page .opening-green.logo-only{
    min-height:100vh !important;
    min-height:100svh !important;
    padding:0 !important;
  }

  .home-page .logo-only .opening-inner::before{
    width:min(350px, 86vw);
  }
}

/* ===== MEBDIGITAL - HERO FULL HEADER SCROLL END 20260520-151539 ===== */

/* ===== MEBDIGITAL - HERO DESMONTA START 20260520-152046 ===== */

.home-page .opening-green.logo-only{
  cursor:pointer;
  transition:min-height .38s ease, padding .38s ease;
}

.home-page .logo-only .opening-inner::before{
  transition:width .38s ease, transform .38s ease;
}

.home-page.hero-collapsed .opening-green.logo-only{
  min-height:clamp(260px, 34vh, 340px) !important;
  padding:0 !important;
  cursor:default;
}

.home-page.hero-collapsed .logo-only .opening-inner::before{
  width:min(430px, 48vw) !important;
  transform:translateY(8px);
}

@media (max-width:680px){
  .home-page.hero-collapsed .opening-green.logo-only{
    min-height:250px !important;
    padding:0 !important;
  }

  .home-page.hero-collapsed .logo-only .opening-inner::before{
    width:min(270px, 72vw) !important;
  }
}

/* ===== MEBDIGITAL - HERO DESMONTA END 20260520-152046 ===== */

/* ===== MEBDIGITAL - HERO DESMONTA MAIOR START 20260520-152350 ===== */

.home-page.hero-collapsed .opening-green.logo-only{
  min-height:clamp(380px, 48vh, 520px) !important;
  padding:0 !important;
}

.home-page.hero-collapsed .logo-only .opening-inner::before{
  width:min(560px, 58vw) !important;
  transform:translateY(4px);
}

@media (max-width:680px){
  .home-page.hero-collapsed .opening-green.logo-only{
    min-height:330px !important;
  }

  .home-page.hero-collapsed .logo-only .opening-inner::before{
    width:min(310px, 78vw) !important;
  }
}

/* ===== MEBDIGITAL - HERO DESMONTA MAIOR END 20260520-152350 ===== */

/* ===== MEBDIGITAL - HERO MARGEM CONTACTO START 20260520-153041 ===== */

.home-page.hero-collapsed .opening-green.logo-only{
  min-height:clamp(420px, 52vh, 560px) !important;
}

.home-page.hero-collapsed .logo-only .opening-inner::before{
  transform:translateY(24px);
}

.contact-aside{
  text-align:center !important;
}

.contact-aside p{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:360px;
  text-align:center !important;
}

.contact-email{
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:680px){
  .home-page.hero-collapsed .opening-green.logo-only{
    min-height:350px !important;
  }

  .home-page.hero-collapsed .logo-only .opening-inner::before{
    transform:translateY(14px);
  }
}

/* ===== MEBDIGITAL - HERO MARGEM CONTACTO END 20260520-153041 ===== */

/* ===== MEBDIGITAL - MOBILE MENU ALINHAMENTO START 20260520-154933 ===== */

.mobile-menu-toggle{
  display:none;
}

@media (max-width:680px){
  body{
    overflow-x:hidden;
  }

  .wrap{
    width:min(calc(100% - 32px), 360px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .header{
    overflow:visible !important;
  }

  .nav{
    min-height:70px !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    position:relative !important;
  }

  .logo{
    flex:0 1 auto !important;
  }

  .logo img{
    width:min(200px, 54vw) !important;
    max-width:min(200px, 54vw) !important;
    max-height:48px !important;
  }

  .mobile-menu-toggle{
    appearance:none;
    display:inline-flex !important;
    flex:0 0 42px;
    width:42px;
    height:42px;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(131,151,161,.22);
    border-radius:999px;
    background:#FFFFFF;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
  }

  .mobile-menu-toggle span{
    display:block;
    width:18px;
    height:1.5px;
    border-radius:999px;
    background:#8397A1;
    transition:transform .18s ease, opacity .18s ease;
  }

  .mobile-menu-open .mobile-menu-toggle span:nth-child(1){
    transform:translateY(6.5px) rotate(45deg);
  }

  .mobile-menu-open .mobile-menu-toggle span:nth-child(2){
    opacity:0;
  }

  .mobile-menu-open .mobile-menu-toggle span:nth-child(3){
    transform:translateY(-6.5px) rotate(-45deg);
  }

  .menu{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:0 !important;
    z-index:80 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:0 !important;
    padding:12px 16px !important;
    border:1px solid rgba(131,151,161,.18) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 18px 38px rgba(47,54,56,.12) !important;
    color:#2F3638 !important;
    backdrop-filter:blur(14px);
  }

  .mobile-menu-open .menu{
    display:flex !important;
  }

  .menu a,
  .menu a:not(.cta),
  .menu .cta{
    display:block !important;
    width:100% !important;
    padding:12px 8px !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#2F3638 !important;
    font-size:15px !important;
    line-height:1.25 !important;
    text-align:center !important;
  }

  .menu .cta{
    margin-top:4px !important;
    border-top:1px solid rgba(131,151,161,.16) !important;
    color:#8397A1 !important;
    font-weight:700 !important;
  }

  .home-page:not(.hero-collapsed) .opening-green.logo-only{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .home-page:not(.hero-collapsed) .logo-only .opening-inner{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .home-page:not(.hero-collapsed) .logo-only .opening-inner::before,
  .home-page.hero-collapsed .logo-only .opening-inner::before{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .home-page:not(.hero-collapsed) .logo-only .opening-inner::before{
    width:min(300px, 78vw) !important;
    transform:translateX(clamp(-46px, -11vw, -32px)) !important;
  }

  .home-page.hero-collapsed .logo-only .opening-inner::before{
    width:min(280px, 72vw) !important;
    transform:translateY(14px) !important;
  }

  .about-editorial-inner,
  .services-head,
  .custom-projects-inner,
  .final-inner,
  .contact-hero-inner,
  .contact-layout{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .services-grid,
  .contact-layout{
    width:100% !important;
    justify-items:center !important;
  }

  .services-grid .service-card,
  .contact-aside,
  .contact-panel{
    width:100% !important;
  }
}

/* ===== MEBDIGITAL - MOBILE MENU ALINHAMENTO END 20260520-154933 ===== */

/* ===== MEBDIGITAL - BLOCO FINAL CONTACTO START 20260522-110937 ===== */

.final-hero{
  padding:74px 0 82px !important;
}

.final-hero h2{
  font-size:clamp(32px, 3.6vw, 54px) !important;
}

.final-hero p{
  max-width:650px !important;
  margin-top:18px !important;
}

.final-actions{
  margin-top:22px !important;
}

.final-mark{
  opacity:.055 !important;
}

@media (max-width:680px){
  .final-hero{
    padding:58px 0 66px !important;
  }

  .final-hero h2{
    font-size:clamp(30px, 8vw, 44px) !important;
  }
}

/* ===== MEBDIGITAL - BLOCO FINAL CONTACTO END 20260522-110937 ===== */

/* ===== MEBDIGITAL - BLOCO FINAL DISCRETO START 20260522-111054 ===== */

/* Mantém a cor/estrutura, mas deixa de parecer um segundo hero */
.final-hero{
  padding:54px 0 58px !important;
  min-height:0 !important;
}

.final-inner{
  max-width:760px !important;
  text-align:center !important;
}

.final-hero .eyebrow{
  margin:0 0 18px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  text-align:center !important;
}

.final-hero h2{
  margin:0 auto 14px !important;
  max-width:760px !important;
  color:#FFFFFF !important;
  font-size:clamp(18px, 1.25vw, 22px) !important;
  line-height:1.4 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
  text-align:center !important;
}

.final-hero p{
  margin:0 auto !important;
  max-width:720px !important;
  color:rgba(255,255,255,.82) !important;
  font-size:15px !important;
  line-height:1.62 !important;
  font-weight:400 !important;
  text-align:center !important;
}

.final-actions{
  margin-top:24px !important;
}

.final-hero .btn{
  min-height:43px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.final-mark{
  opacity:.035 !important;
}

@media (max-width:680px){
  .final-hero{
    padding:42px 0 46px !important;
  }

  .final-hero .eyebrow{
    font-size:11px !important;
    letter-spacing:.28em !important;
  }

  .final-hero h2{
    font-size:20px !important;
  }

  .final-hero p{
    font-size:15px !important;
    line-height:1.6 !important;
  }
}

/* ===== MEBDIGITAL - BLOCO FINAL DISCRETO END 20260522-111054 ===== */

/* ===== MEBDIGITAL - MOBILE HERO, H1 E CTA START 20260522-1605 ===== */

.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.home-page .opening-green.logo-only{
  position:relative !important;
}

.opening-cta{
  position:static;
  z-index:2;
  margin-top:28px;
  transform:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(199,227,214,.52);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#C7E3D6;
  font-size:13px;
  line-height:1;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(47,54,56,.08);
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.opening-cta:hover{
  border-color:#C7E3D6;
  background:rgba(199,227,214,.14);
  color:#FFFFFF;
}

.home-page.hero-collapsed .opening-cta{
  display:none;
}

@media (max-width:680px){
  .home-page:not(.hero-collapsed) .opening-green.logo-only{
    overflow:hidden !important;
  }

  .home-page:not(.hero-collapsed) .logo-only .opening-inner{
    width:100% !important;
    max-width:390px !important;
    padding:0 16px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .home-page:not(.hero-collapsed) .logo-only .opening-inner::before{
    width:min(290px, 74vw) !important;
    max-width:calc(100vw - 86px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }

  .opening-cta{
    margin-top:24px;
    min-height:40px;
    padding:0 16px;
    font-size:13px;
  }
}

/* ===== MEBDIGITAL - MOBILE HERO, H1 E CTA END 20260522-1605 ===== */

/* ===== MEBDIGITAL - MOBILE HERO COLLAPSED ALIGNMENT START 20260522-1640 ===== */

@media (max-width:680px){
  .home-page.hero-collapsed .opening-green.logo-only{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  .home-page.hero-collapsed .logo-only .opening-inner{
    width:100% !important;
    max-width:390px !important;
    padding:0 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .home-page.hero-collapsed .logo-only .opening-inner::before{
    width:min(290px, 74vw) !important;
    max-width:calc(100vw - 86px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:translateY(34px) !important;
  }
}

/* ===== MEBDIGITAL - MOBILE HERO COLLAPSED ALIGNMENT END 20260522-1640 ===== */

/* ===== MEBDIGITAL - PROJECT CAROUSEL READY START 20260522-1655 ===== */

.project-carousel{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  background:#8397A1;
  transition:opacity .6s ease;
}

.has-project-carousel .project-carousel{
  opacity:1;
}

.project-carousel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(131,151,161,.88), rgba(131,151,161,.74)),
    rgba(131,151,161,.70);
}

.project-carousel-track{
  position:absolute;
  inset:8% auto 8% 0;
  z-index:1;
  display:flex;
  align-items:center;
  gap:28px;
  width:max-content;
  padding:0 28px;
  animation:projectCarouselDrift 52s linear infinite;
}

.project-carousel-item{
  flex:0 0 clamp(210px, 22vw, 360px);
  height:clamp(260px, 48vh, 460px);
  overflow:hidden;
  border-radius:16px;
  opacity:.36;
  background:rgba(255,255,255,.16);
  box-shadow:0 24px 70px rgba(47,54,56,.18);
}

.project-carousel-item:nth-child(3n + 2){
  transform:translateY(54px);
}

.project-carousel-item:nth-child(3n){
  transform:translateY(-34px);
}

.project-carousel-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.9) contrast(.92);
}

.logo-only .opening-inner{
  position:relative;
  z-index:3;
}

@keyframes projectCarouselDrift{
  from{transform:translateX(0)}
  to{transform:translateX(-66.666%)}
}

@media (prefers-reduced-motion: reduce){
  .project-carousel-track{
    animation:none;
  }
}

@media (max-width:680px){
  .project-carousel-track{
    inset:9% auto 9% 0;
    gap:18px;
    padding:0 18px;
    animation-duration:62s;
  }

  .project-carousel-item{
    flex-basis:190px;
    height:250px;
    border-radius:12px;
    opacity:.30;
  }

  .project-carousel-item:nth-child(3n + 2){
    transform:translateY(82px);
  }

  .project-carousel-item:nth-child(3n){
    transform:translateY(-54px);
  }
}

/* ===== MEBDIGITAL - PROJECT CAROUSEL READY END 20260522-1655 ===== */
