:root{
--purple:#4A008F;
--purple2:#6B16B8;
--dark:#16051F;
--text:#19171D;
--muted:#746D7D;
--line:#E8E1EF;
--bg:#F4F4FA;
}

*{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:Montserrat,Arial,sans-serif;
color:var(--text);
}

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

.container{
width:min(1180px,calc(100% - 40px));
margin:auto;
}

.header{
height:82px;
position:fixed;
top:0;
left:0;
right:0;
z-index:999;
background:rgba(22,5,31,.92);
backdrop-filter:blur(12px);
}

.header-inner{
height:100%;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
display:flex;
align-items:center;
gap:9px;
color:white;
font-weight:800;
font-size:20px;
}

.logo-icon{
background:var(--purple);
padding:10px;
border-radius:10px;
}

nav{
display:flex;
align-items:center;
gap:25px;
font-size:13px;
color:white;
}

.menu-toggle{
display:none;
background:none;
border:0;
font-size:25px;
color:white;
}

.btn,
.btn-small{
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:50px;
background:var(--purple);
color:white;
font-weight:700;
}

.btn{
padding:16px 24px;
}

.btn-small{
padding:12px 18px;
}

.btn-outline{
background:transparent;
border:1px solid rgba(255,255,255,.3);
}

.btn-light{
background:white;
color:var(--dark);
}

.hero{
padding:170px 0 100px;
background:linear-gradient(135deg,#100216,#21092E);
color:white;
min-height:750px;
}

.hero-grid{
display:grid;
grid-template-columns:1.1fr .7fr;
gap:70px;
align-items:center;
}

.eyebrow{
font-size:11px;
font-weight:800;
letter-spacing:.15em;
color:#D7B4F7;
}

.purple{
color:var(--purple);
}

.hero h1{
font-size:70px;
line-height:1;
letter-spacing:-.05em;
margin:20px 0;
}

.hero h1 strong,
.section-title strong,
.section-dark strong,
.tech strong{
color:#B36AFF;
}

.lead{
font-size:18px;
line-height:1.7;
color:rgba(255,255,255,.7);
}

.actions{
display:flex;
gap:10px;
margin-top:30px;
}

.proof{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:50px;
}

.proof div{
border-top:1px solid rgba(255,255,255,.2);
padding-top:15px;
}

.proof span{
display:block;
font-size:11px;
color:rgba(255,255,255,.5);
margin-top:6px;
}

.hero-panel{
padding:26px;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.15);
border-radius:26px;
}

.panel-title{
font-size:10px;
letter-spacing:.15em;
}

.panel-item{
padding:20px;
margin-top:12px;
background:rgba(255,255,255,.05);
border-radius:15px;
}

.panel-item small{
display:block;
color:#B36AFF;
margin-bottom:8px;
}

.highlight{
background:var(--purple);
}

.trust{
padding:25px 0;
border-bottom:1px solid var(--line);
}

.trust-inner{
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
}

.trust p{
font-weight:700;
}

.trust span{
margin-left:20px;
font-size:12px;
color:var(--muted);
}

.section{
padding:110px 0;
}

.section-title{
max-width:760px;
}

.section-title h2,
.tech h2{
font-size:55px;
letter-spacing:-.04em;
line-height:1.05;
}

.section-title p,
.tech p{
color:var(--muted);
line-height:1.8;
}

.cards{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:50px;
}

.card{
padding:35px;
border:1px solid var(--line);
border-radius:25px;
}

.card>span{
color:var(--purple);
font-size:11px;
font-weight:bold;
}

.card h3{
font-size:25px;
margin-top:50px;
}

.card p{
color:var(--muted);
line-height:1.7;
}

.card ul{
display:flex;
flex-wrap:wrap;
list-style:none;
padding:0;
gap:8px;
}

.card li{
font-size:11px;
padding:8px 12px;
background:#F2EAF9;
border-radius:50px;
}

.dark{
background:var(--dark);
color:white;
}

.dark p{
color:rgba(255,255,255,.6);
}

.section-dark{
padding:110px 0;
background:var(--dark);
color:white;
}

.method{
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
}

.method h2{
font-size:55px;
}

.method p{
line-height:1.8;
color:rgba(255,255,255,.6);
}

.steps>div{
padding:20px 0;
border-bottom:1px solid rgba(255,255,255,.1);
}

.steps span{
font-size:10px;
color:#B36AFF;
}

.steps p{
margin-top:5px;
}

.tech{
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
}

.tech-card{
padding:35px;
background:var(--dark);
color:white;
border-radius:25px;
}

.tech-card>span{
font-size:10px;
letter-spacing:.15em;
color:#B36AFF;
}

.tech-card p{
color:rgba(255,255,255,.6);
}

.metrics{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
margin-top:30px;
}

.metrics div{
background:rgba(255,255,255,.08);
padding:18px;
border-radius:12px;
}

.metrics small{
display:block;
color:#C89CEF;
margin-bottom:8px;
}

.cta{
padding-bottom:100px;
}

.cta-box{
padding:55px;
border-radius:30px;
background:var(--dark);
color:white;
display:flex;
justify-content:space-between;
align-items:center;
gap:50px;
}

.cta-box h2{
font-size:40px;
max-width:800px;
}

footer{
background:#0C0211;
color:white;
padding:70px 0 25px;
}

.footer-grid{
display:grid;
grid-template-columns:1.4fr .7fr .8fr 1fr;
gap:50px;
}

.footer-grid div{
display:flex;
flex-direction:column;
gap:12px;
}

.footer-grid p,
.footer-grid a,
.footer-grid span{
font-size:12px;
color:rgba(255,255,255,.55);
}

.copyright{
border-top:1px solid rgba(255,255,255,.1);
margin-top:50px;
padding-top:20px;
font-size:10px;
color:rgba(255,255,255,.4);
}

@media(max-width:900px){

nav{
display:none;
position:absolute;
top:82px;
left:15px;
right:15px;
background:var(--dark);
padding:25px;
flex-direction:column;
align-items:flex-start;
border-radius:15px;
}

nav.open{
display:flex;
}

.menu-toggle{
display:block;
}

.hero-grid,
.method,
.tech{
grid-template-columns:1fr;
}

.hero h1{
font-size:48px;
}

.cards{
grid-template-columns:1fr;
}

.proof{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:600px){

.hero{
padding-top:125px;
}

.hero h1{
font-size:40px;
}

.actions{
flex-direction:column;
}

.section{
padding:75px 0;
}

.section-title h2,
.tech h2,
.method h2{
font-size:36px;
}

.trust-inner{
flex-direction:column;
align-items:flex-start;
}

.trust span{
display:inline-block;
margin:5px 10px 5px 0;
}

.metrics{
grid-template-columns:1fr;
}

.cta-box{
flex-direction:column;
align-items:flex-start;
padding:30px;
}

.cta-box h2{
font-size:30px;
}

.footer-grid{
grid-template-columns:1fr;
}

}

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

.logo img{
display:block;
width:auto;
height:42px;
}

@media(max-width:600px){

.logo img{
height:34px;
}

}

.logo{
display:flex !important;
align-items:center !important;
gap:0 !important;
}

.logo img{
display:block !important;
width:auto !important;
height:46px !important;
max-width:180px !important;
object-fit:contain !important;
}

.logo-icon,
.logo > span:not(.brand-name){
display:none !important;
}

@media(max-width:600px){
.logo img{
height:36px !important;
max-width:145px !important;
}
}

/* EPBROS LOGO — DESTAQUE MAIOR */
.logo img{
  height:58px !important;
  max-width:230px !important;
}

.header{
  height:92px !important;
}

.header-inner{
  min-height:92px !important;
}

@media(max-width:600px){

  .logo img{
    height:44px !important;
    max-width:175px !important;
  }

  .header{
    height:78px !important;
  }

  .header-inner{
    min-height:78px !important;
  }

}

/* EPBROS LOGO — TAMANHO EXTRA */
.logo img{
  height:110px !important;
  max-width:360px !important;
}

.header{
  height:132px !important;
}

.header-inner{
  min-height:132px !important;
}

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

@media(max-width:600px){

  .logo img{
    height:78px !important;
    max-width:260px !important;
  }

  .header{
    height:98px !important;
  }

  .header-inner{
    min-height:98px !important;
  }

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

}

/* =========================================
   AJUSTES EPBROS
   Logo + Atendimento Inteligente
========================================= */

/* LOGO — TAMANHO INTERMEDIÁRIO */
.logo img{
  height:82px !important;
  max-width:290px !important;
}

.header{
  height:108px !important;
}

.header-inner{
  min-height:108px !important;
}

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


/* ATENDIMENTO INTELIGENTE — CORREÇÃO DOS BOTÕES/TAGS */
.card.dark{
  background:#16051F !important;
  color:#FFFFFF !important;
}

.card.dark h3{
  color:#FFFFFF !important;
}

.card.dark p{
  color:rgba(255,255,255,.72) !important;
}

.card.dark ul{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.card.dark li{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  background:#F2EAF9 !important;
  color:#4A008F !important;

  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:999px !important;

  padding:9px 13px !important;

  font-size:11px !important;
  font-weight:700 !important;

  opacity:1 !important;
  visibility:visible !important;
}

.card.dark li *{
  color:#4A008F !important;
}


/* MOBILE */
@media(max-width:600px){

  .logo img{
    height:58px !important;
    max-width:205px !important;
  }

  .header{
    height:84px !important;
  }

  .header-inner{
    min-height:84px !important;
  }

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

}


/* ==========================================================
   EPBROS — WHATSAPP FLUTUANTE
========================================================== */

.epbros-whatsapp{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9000;

  display:flex;
  align-items:center;
  gap:12px;

  min-height:66px;
  padding:10px 18px 10px 10px;

  border-radius:999px;

  background:#14945A;
  color:#FFFFFF !important;

  box-shadow:
    0 18px 50px rgba(20,148,90,.30),
    0 4px 14px rgba(0,0,0,.14);

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.epbros-whatsapp:hover{
  transform:translateY(-3px);
  box-shadow:
    0 22px 60px rgba(20,148,90,.38),
    0 5px 16px rgba(0,0,0,.15);
}

.epbros-whatsapp-icon{
  width:46px;
  height:46px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex:0 0 46px;

  border-radius:50%;

  background:rgba(255,255,255,.15);
}

.epbros-whatsapp-icon svg{
  width:27px;
  height:27px;
}

.epbros-whatsapp-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.epbros-whatsapp-copy strong{
  color:#FFFFFF !important;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.epbros-whatsapp-copy small{
  color:rgba(255,255,255,.78) !important;
  font-size:10px;
  font-weight:600;
}


/* ==========================================================
   EPBROS — EXIT INTENT / DIAGNÓSTICO
========================================================== */

.epbros-exit-overlay{
  position:fixed;
  inset:0;
  z-index:99999;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:20px;

  background:rgba(12,2,17,.76);
  backdrop-filter:blur(8px);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:
    opacity .25s ease,
    visibility .25s ease;
}

.epbros-exit-overlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.epbros-exit-popup{
  position:relative;

  width:min(560px,100%);

  padding:46px;

  border-radius:28px;

  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(74,0,143,.11),
      transparent 35%
    ),
    #FFFFFF;

  color:#19171D;

  box-shadow:0 30px 100px rgba(0,0,0,.30);

  transform:translateY(15px) scale(.98);

  transition:transform .25s ease;
}

.epbros-exit-overlay.is-open .epbros-exit-popup{
  transform:none;
}

.epbros-exit-close{
  position:absolute;
  right:18px;
  top:16px;

  width:40px;
  height:40px;

  border:0;
  border-radius:50%;

  background:#F4F4FA;
  color:#746D7D;

  font-size:24px;
  line-height:1;

  cursor:pointer;
}

.epbros-exit-badge{
  display:inline-flex;

  padding:8px 11px;

  border-radius:999px;

  background:#F2EAF9;
  color:#4A008F;

  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}

.epbros-exit-popup h2{
  margin:22px 0 16px;

  color:#16051F;

  font-size:34px;
  line-height:1.08;
  letter-spacing:-.04em;
}

.epbros-exit-popup p{
  margin:0 0 26px;

  color:#746D7D;

  font-size:15px;
  line-height:1.7;
}

.epbros-exit-popup p strong{
  color:#4A008F;
}

.epbros-exit-button{
  display:flex;
  align-items:center;
  justify-content:center;

  min-height:54px;

  padding:0 22px;

  border-radius:999px;

  background:#4A008F;
  color:#FFFFFF !important;

  font-size:13px;
  font-weight:800;

  box-shadow:0 14px 34px rgba(74,0,143,.24);
}

.epbros-exit-later{
  display:block;

  margin:15px auto 0;

  border:0;
  background:none;

  color:#746D7D;

  font-size:11px;
  font-weight:600;

  cursor:pointer;
}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:600px){

  .epbros-whatsapp{
    right:14px;
    bottom:14px;

    min-height:58px;

    padding:
      8px 14px
      8px 8px;
  }

  .epbros-whatsapp-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .epbros-whatsapp-copy strong{
    font-size:11px;
  }

  .epbros-whatsapp-copy small{
    font-size:9px;
  }

  .epbros-exit-popup{
    padding:
      40px 24px
      28px;

    border-radius:24px;
  }

  .epbros-exit-popup h2{
    font-size:29px;
  }

}

/* ======================================================
   EPBROS CONVERSION V2
====================================================== */

.ep-whatsapp-float{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:99990 !important;

  display:flex !important;
  align-items:center !important;
  gap:12px !important;

  padding:9px 18px 9px 9px !important;

  background:#14945A !important;
  color:#fff !important;

  border-radius:999px !important;

  box-shadow:
    0 18px 48px rgba(20,148,90,.35),
    0 5px 16px rgba(0,0,0,.18) !important;

  text-decoration:none !important;
}

.ep-wa-icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:50% !important;

  background:rgba(255,255,255,.15) !important;

  color:#fff !important;
}

.ep-wa-icon svg{
  width:29px !important;
  height:29px !important;
}

.ep-wa-text{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}

.ep-wa-text strong{
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
}

.ep-wa-text small{
  color:rgba(255,255,255,.8) !important;
  font-size:10px !important;
  font-weight:600 !important;
}


.ep-exit-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:20px !important;

  background:rgba(12,2,17,.78) !important;
  backdrop-filter:blur(7px);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:.25s ease;
}

.ep-exit-overlay.ep-open{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

.ep-exit-card{
  position:relative;

  width:min(560px,100%) !important;

  padding:45px !important;

  background:#fff !important;
  color:#19171D !important;

  border-radius:28px !important;

  box-shadow:0 30px 100px rgba(0,0,0,.32) !important;
}

.ep-exit-close{
  position:absolute;
  right:16px;
  top:14px;

  width:40px;
  height:40px;

  border:0;
  border-radius:50%;

  background:#F4F4FA;

  color:#746D7D;

  font-size:24px;

  cursor:pointer;
}

.ep-exit-label{
  display:inline-flex;

  padding:8px 11px;

  background:#F2EAF9;
  color:#4A008F;

  border-radius:999px;

  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}

.ep-exit-card h2{
  margin:20px 0 14px !important;

  color:#16051F !important;

  font-size:34px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
}

.ep-exit-card p{
  margin:0 0 25px !important;

  color:#746D7D !important;

  font-size:15px !important;
  line-height:1.7 !important;
}

.ep-exit-card p strong{
  color:#4A008F !important;
}

.ep-exit-cta{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:54px;

  padding:0 22px;

  border-radius:999px;

  background:#4A008F !important;
  color:#fff !important;

  font-size:13px !important;
  font-weight:800 !important;

  text-decoration:none !important;
}

.ep-exit-dismiss{
  display:block;

  margin:14px auto 0;

  border:0;

  background:transparent;

  color:#746D7D;

  font-size:11px;
  font-weight:600;

  cursor:pointer;
}

@media(max-width:600px){

  .ep-whatsapp-float{
    right:12px !important;
    bottom:12px !important;

    padding-right:14px !important;
  }

  .ep-wa-icon{
    width:43px !important;
    height:43px !important;
    min-width:43px !important;
  }

  .ep-wa-text strong{
    font-size:10px !important;
  }

  .ep-wa-text small{
    font-size:9px !important;
  }

  .ep-exit-card{
    padding:40px 24px 28px !important;
  }

  .ep-exit-card h2{
    font-size:28px !important;
  }

}

/* ======================================================
   EPBROS — MONTSERRAT 100%
====================================================== */

html,
body,
body *,
button,
input,
textarea,
select,
option,
a,
span,
div,
section,
article,
header,
footer,
nav,
main,
aside,
label,
small,
strong,
b,
em,
i,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
table,
thead,
tbody,
tfoot,
tr,
th,
td,
form,
fieldset,
legend {
  font-family: "Montserrat", Arial, sans-serif !important;
}

/* GARANTE PESOS COERENTES */

body,
p,
span,
li,
small,
a {
  font-weight: 400;
}

strong,
b {
  font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 700;
}

button,
.btn,
.btn-small,
.ep-exit-cta,
.ep-whatsapp-float,
.ep-wa-text,
.ep-wa-text strong,
.ep-wa-text small {
  font-family: "Montserrat", Arial, sans-serif !important;
}

/* REMOVE FONTES ANTIGAS DECLARADAS EM ELEMENTOS */

[style*="font-family"] {
  font-family: "Montserrat", Arial, sans-serif !important;
}


/* ======================================================
   EPBROS — PROTEÇÃO CONTRA SELEÇÃO DE TEXTO
====================================================== */

body,
body *:not(input):not(textarea):not(select) {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Mantém campos de formulário utilizáveis */
input,
textarea,
select,
option {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  user-select: text !important;
}


/* ======================================================
   EPBROS — MICROINTERAÇÕES V1
====================================================== */

/* REVEAL */

.ep-reveal{
  opacity:0;
  transform:translateY(18px);
  filter:blur(3px);

  transition:
    opacity .65s ease,
    transform .65s ease,
    filter .65s ease;
}

.ep-reveal.ep-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}


/* CARDS */

.card,
.hero-panel,
.tech-card,
.steps > div{
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

@media (hover:hover) and (pointer:fine){

  .card:hover{
    transform:translateY(-4px);
    border-color:#4e288d;

    box-shadow:
      0 18px 45px rgba(78,40,141,.10);
  }

  .hero-panel:hover,
  .tech-card:hover{
    transform:translateY(-3px);
  }

}


/* CTA */

.btn,
.btn-small,
.ep-whatsapp-float,
.ep-exit-cta{
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    filter .2s ease;
}

@media (hover:hover) and (pointer:fine){

  .btn:hover,
  .btn-small:hover,
  .ep-exit-cta:hover{
    transform:translateY(-2px);

    box-shadow:
      0 12px 34px rgba(78,40,141,.26);
  }

  .ep-whatsapp-float:hover{
    transform:translateY(-3px) scale(1.01);

    box-shadow:
      0 18px 46px rgba(20,148,90,.38);
  }

}


/* HERO — GRID TECNOLÓGICO */

.hero{
  position:relative;
  overflow:hidden;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;

  pointer-events:none;

  background-image:
    linear-gradient(
      rgba(255,255,255,.035) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.035) 1px,
      transparent 1px
    );

  background-size:46px 46px;

  mask-image:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.8),
      transparent 88%
    );
}

.hero::after{
  content:"";
  position:absolute;

  width:520px;
  height:520px;

  right:-120px;
  top:40px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(78,40,141,.30),
      rgba(78,40,141,0) 70%
    );

  filter:blur(12px);

  pointer-events:none;
}

.hero > .container{
  position:relative;
  z-index:2;
}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

  .ep-reveal{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
  }

  .card,
  .btn,
  .btn-small,
  .ep-whatsapp-float,
  .ep-exit-cta{
    transition:none;
  }

}

/* ======================================================
   EPBROS — HERO PREMIUM
====================================================== */

.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;

  background:
    radial-gradient(circle at 70% 20%, rgba(78,40,141,.20), transparent 34%),
    radial-gradient(circle at 20% 85%, rgba(78,40,141,.14), transparent 35%),
    linear-gradient(145deg,#100216 0%,#190622 48%,#0d0113 100%) !important;
}

/* GRID MAIS REFINADO */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-4;
  pointer-events:none;

  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px, transparent 1px);

  background-size:52px 52px;

  mask-image:
    radial-gradient(circle at 50% 35%, black 30%, transparent 86%);
}


/* AURORA PRINCIPAL */
.hero::after{
  content:"";
  position:absolute;
  z-index:-3;

  width:780px;
  height:780px;

  right:-240px;
  top:-230px;

  border-radius:50%;

  background:
    conic-gradient(
      from 120deg,
      rgba(78,40,141,0),
      rgba(78,40,141,.34),
      rgba(255,255,255,.07),
      rgba(78,40,141,.16),
      rgba(78,40,141,0)
    );

  filter:blur(55px);

  animation:epAurora 15s ease-in-out infinite alternate;
}


/* FEIXE */
.hero .hero-beam{
  position:absolute;
  z-index:-2;

  width:650px;
  height:650px;

  left:52%;
  top:50%;

  transform:
    translate(-50%,-50%)
    rotate(-18deg);

  pointer-events:none;

  background:
    linear-gradient(
      115deg,
      transparent 34%,
      rgba(255,255,255,.025) 45%,
      rgba(172,105,241,.08) 50%,
      rgba(78,40,141,.08) 55%,
      transparent 67%
    );

  filter:blur(8px);
}


/* PARTÍCULAS */
.hero .hero-particles{
  position:absolute;
  inset:0;
  z-index:-1;

  pointer-events:none;

  background-image:
    radial-gradient(circle, rgba(255,255,255,.25) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(172,105,241,.22) 1px, transparent 1.5px);

  background-size:
    110px 110px,
    160px 160px;

  background-position:
    0 0,
    45px 35px;

  opacity:.22;

  animation:epParticles 24s linear infinite;
}


/* LUZ INTERATIVA */
.hero .hero-pointer-light{
  position:absolute;
  z-index:-1;

  width:520px;
  height:520px;

  left:var(--pointer-x,70%);
  top:var(--pointer-y,30%);

  transform:translate(-50%,-50%);

  border-radius:50%;

  pointer-events:none;

  background:
    radial-gradient(
      circle,
      rgba(78,40,141,.20),
      rgba(78,40,141,.08) 30%,
      transparent 68%
    );

  filter:blur(14px);

  transition:
    left .18s ease-out,
    top .18s ease-out;
}


/* CONTEÚDO DA HERO ACIMA DOS EFEITOS */
.hero .container{
  position:relative;
  z-index:2;
}


/* PAINEL PREMIUM */
.hero-panel{
  position:relative;
  overflow:hidden;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.085),
      rgba(255,255,255,.025)
    ) !important;

  border:
    1px solid rgba(255,255,255,.12) !important;

  box-shadow:
    0 30px 90px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.06);

  backdrop-filter:
    blur(16px)
    saturate(120%);
}

.hero-panel::before{
  content:"";
  position:absolute;

  width:220px;
  height:220px;

  right:-70px;
  top:-80px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(172,105,241,.17),
      transparent 70%
    );

  pointer-events:none;
}


/* ANIMAÇÕES */
@keyframes epAurora{

  0%{
    transform:
      translate3d(0,0,0)
      scale(1);
  }

  100%{
    transform:
      translate3d(-70px,60px,0)
      scale(1.12);
  }

}

@keyframes epParticles{

  from{
    background-position:
      0 0,
      45px 35px;
  }

  to{
    background-position:
      110px 110px,
      205px 195px;
  }

}


/* MOBILE */
@media(max-width:700px){

  .hero::after{
    width:520px;
    height:520px;

    right:-270px;
    top:-140px;

    opacity:.8;
  }

  .hero .hero-beam{
    width:420px;
    height:420px;

    left:58%;
    top:45%;
  }

  .hero .hero-pointer-light{
    display:none;
  }

}


/* ACESSIBILIDADE */
@media(prefers-reduced-motion:reduce){

  .hero::after,
  .hero .hero-particles{
    animation:none !important;
  }

  .hero .hero-pointer-light{
    transition:none !important;
  }

}

/* ======================================================
   EPBROS — SCROLL PROGRESS
====================================================== */

.ep-scroll-progress{
  position:fixed;
  top:0;
  left:0;

  width:0%;
  height:3px;

  z-index:999999;

  background:
    linear-gradient(
      90deg,
      #4e288d 0%,
      #7b52bb 55%,
      #b79be3 100%
    );

  box-shadow:
    0 0 12px rgba(78,40,141,.55);

  pointer-events:none;

  transition:width .06s linear;
}


/* EPBROS — SCROLL PROGRESS MAIS EVIDENTE */

.ep-scroll-progress{
  height:5px !important;

  background:
    linear-gradient(
      90deg,
      #4e288d 0%,
      #6f49ad 45%,
      #9c7ad0 72%,
      #d4c3ee 100%
    ) !important;

  box-shadow:
    0 0 10px rgba(78,40,141,.65),
    0 0 18px rgba(156,122,208,.35) !important;
}



/* ==========================================================
   EPBROS HOME V2
========================================================== */


/* PROVA INSTITUCIONAL */

.ep-proof-section{
  padding:90px 0;
  background:#FFFFFF;
  border-bottom:1px solid #E8E1EF;
}

.ep-proof-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:80px;
  align-items:center;
}

.ep-big-number{
  display:block;

  margin-top:8px;

  color:#4e288d;

  font-size:clamp(76px,9vw,130px);
  line-height:.9;

  font-weight:800;

  letter-spacing:-.07em;
}

.ep-proof-main h2{
  margin:10px 0 15px;

  color:#16051F;

  font-size:32px;

  letter-spacing:-.04em;
}

.ep-proof-main p{
  max-width:470px;

  color:#746D7D;

  font-size:14px;
  line-height:1.8;
}

.ep-proof-data{
  display:grid;
  gap:0;

  border-top:1px solid #E8E1EF;
}

.ep-proof-data article{
  display:grid;
  grid-template-columns:55px 1fr;
  gap:22px;

  padding:25px 0;

  border-bottom:1px solid #E8E1EF;
}

.ep-proof-icon{
  color:#4e288d;

  font-size:11px;
  font-weight:800;

  letter-spacing:.12em;
}

.ep-proof-data strong{
  display:block;

  margin-bottom:7px;

  color:#19171D;

  font-size:16px;
}

.ep-proof-data p{
  margin:0;

  color:#746D7D;

  font-size:13px;
  line-height:1.65;
}


/* ==========================================================
   MEED
========================================================== */

.ep-meed-section{
  position:relative;

  overflow:hidden;

  padding:110px 0;

  background:#16051F;

  color:#FFFFFF;
}

.ep-meed-section::before{
  content:"";

  position:absolute;
  inset:0;

  pointer-events:none;

  background-image:
    linear-gradient(
      rgba(255,255,255,.025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.025) 1px,
      transparent 1px
    );

  background-size:55px 55px;
}

.ep-meed-section .container{
  position:relative;
  z-index:2;
}

.ep-meed-header{
  display:grid;

  grid-template-columns:1.2fr .7fr;

  gap:70px;

  align-items:end;

  margin-bottom:70px;
}

.ep-meed-header h2{
  max-width:720px;

  margin:12px 0 0;

  color:#FFFFFF;

  font-size:clamp(40px,4.5vw,64px);
  line-height:1.04;

  letter-spacing:-.045em;
}

.ep-meed-header h2 strong{
  color:#9c7ad0;
}

.ep-meed-header > p{
  margin:0;

  color:rgba(255,255,255,.58);

  font-size:14px;
  line-height:1.8;
}


/* ESCADA */

.ep-value-ladder{
  display:flex;
  flex-direction:column;

  gap:10px;
}

.ep-step{
  position:relative;

  display:grid;

  grid-template-columns:64px 1fr;

  gap:22px;

  padding:24px 28px;

  border:
    1px solid rgba(255,255,255,.09);

  border-radius:18px;

  background:
    rgba(255,255,255,.035);

  backdrop-filter:blur(8px);

  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.ep-step-number{
  display:flex;
  align-items:flex-start;

  padding-top:4px;

  color:#9c7ad0;

  font-size:11px;
  font-weight:800;

  letter-spacing:.12em;
}

.ep-step-content span{
  color:#9c7ad0;

  font-size:9px;
  font-weight:800;

  letter-spacing:.15em;
}

.ep-step-content h3{
  margin:7px 0 6px;

  color:#FFFFFF;

  font-size:23px;

  letter-spacing:-.035em;
}

.ep-step-content > strong{
  display:block;

  margin-bottom:7px;

  color:#FFFFFF;

  font-size:13px;
}

.ep-step-content p{
  max-width:640px;

  margin:0;

  color:rgba(255,255,255,.52);

  font-size:12px;
  line-height:1.65;
}


/* EFEITO ESCADA */

.ep-step-1{
  width:58%;
}

.ep-step-2{
  width:65%;
}

.ep-step-3{
  width:72%;
}

.ep-step-4{
  width:79%;
}

.ep-step-5{
  width:86%;
}

.ep-step-6{
  width:93%;
}

.ep-step-7{
  width:100%;

  padding:31px 30px;

  border-color:rgba(156,122,208,.45);

  background:
    linear-gradient(
      135deg,
      rgba(78,40,141,.68),
      rgba(78,40,141,.18)
    );
}

.ep-step-cta{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  margin-top:19px;

  min-height:44px;

  padding:0 18px;

  border-radius:999px;

  background:#FFFFFF;

  color:#16051F !important;

  font-size:11px;
  font-weight:800;
}

@media (hover:hover) and (pointer:fine){

  .ep-step:hover{
    transform:translateX(5px);

    border-color:
      rgba(156,122,208,.48);

    background:
      rgba(255,255,255,.055);
  }

}


/* ==========================================================
   ESTRUTURA / CRISTIANO
========================================================== */

.ep-structure-section{
  padding:115px 0;

  background:#F8F6FB;
}

.ep-structure-grid{
  display:grid;

  grid-template-columns:.9fr 1.1fr;

  gap:90px;

  align-items:start;
}

.ep-command{
  padding:42px;

  border-radius:28px;

  background:#FFFFFF;

  border:1px solid #E8E1EF;

  box-shadow:
    0 20px 60px rgba(38,10,56,.07);
}

.ep-command-title span{
  display:block;

  margin-top:20px;

  color:#4e288d;

  font-size:10px;
  font-weight:800;

  letter-spacing:.16em;
}

.ep-command-title h2{
  margin:7px 0;

  color:#16051F;

  font-size:clamp(45px,5vw,65px);
  line-height:.95;

  letter-spacing:-.055em;
}

.ep-command-role{
  color:#4e288d !important;

  font-size:12px !important;
  font-weight:700;
}

.ep-command blockquote{
  margin:32px 0;

  padding:22px 0;

  border-top:1px solid #E8E1EF;
  border-bottom:1px solid #E8E1EF;

  color:#16051F;

  font-size:20px;
  font-weight:700;

  line-height:1.45;

  letter-spacing:-.025em;
}

.ep-command > p:not(.ep-command-role){
  margin-bottom:28px;

  color:#746D7D;

  font-size:13px;
  line-height:1.75;
}


.ep-company-structure h2{
  margin:12px 0 44px;

  color:#16051F;

  font-size:clamp(42px,4vw,58px);

  line-height:1.04;

  letter-spacing:-.045em;
}

.ep-company-structure h2 strong{
  color:#4e288d;
}

.ep-structure-items{
  border-top:1px solid #E8E1EF;
}

.ep-structure-items article{
  display:grid;

  grid-template-columns:55px 1fr;

  gap:20px;

  padding:24px 0;

  border-bottom:1px solid #E8E1EF;
}

.ep-structure-items article > span{
  color:#4e288d;

  font-size:10px;
  font-weight:800;

  letter-spacing:.12em;
}

.ep-structure-items strong{
  display:block;

  margin-bottom:6px;

  color:#19171D;

  font-size:16px;
}

.ep-structure-items p{
  margin:0;

  color:#746D7D;

  font-size:13px;
  line-height:1.65;
}


/* ==========================================================
   LGPD
========================================================== */

.ep-lgpd{
  position:fixed;

  left:18px;
  right:18px;
  bottom:18px;

  z-index:99980;

  display:none;
}

.ep-lgpd.ep-lgpd-visible{
  display:block;
}

.ep-lgpd-inner{
  width:min(1180px,100%);

  margin:auto;

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:30px;

  padding:17px 20px;

  border:
    1px solid rgba(255,255,255,.10);

  border-radius:18px;

  background:
    rgba(22,5,31,.96);

  color:#FFFFFF;

  box-shadow:
    0 18px 60px rgba(0,0,0,.26);

  backdrop-filter:blur(16px);
}

.ep-lgpd-text{
  display:flex;

  align-items:center;

  gap:18px;
}

.ep-lgpd-text strong{
  flex-shrink:0;

  color:#FFFFFF;

  font-size:12px;
}

.ep-lgpd-text p{
  max-width:600px;

  margin:0;

  color:rgba(255,255,255,.58);

  font-size:10px;
  line-height:1.55;
}

.ep-lgpd-actions{
  display:flex;

  align-items:center;

  gap:8px;

  flex-shrink:0;
}

.ep-lgpd-actions button,
.ep-lgpd-link{
  min-height:38px;

  display:inline-flex;

  align-items:center;
  justify-content:center;

  padding:0 13px;

  border-radius:999px;

  font-size:9px;
  font-weight:700;

  cursor:pointer;
}

.ep-lgpd-link{
  color:rgba(255,255,255,.65) !important;
}

.ep-lgpd-secondary{
  border:
    1px solid rgba(255,255,255,.17);

  background:transparent;

  color:#FFFFFF;
}

.ep-lgpd-primary{
  border:0;

  background:#4e288d;

  color:#FFFFFF;
}


/* EVITA WHATSAPP SOBRE LGPD */

.ep-lgpd-visible ~ .ep-whatsapp-float{
  bottom:110px !important;
}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:800px){

  .ep-proof-grid,
  .ep-meed-header,
  .ep-structure-grid{
    grid-template-columns:1fr;

    gap:45px;
  }

  .ep-proof-section,
  .ep-meed-section,
  .ep-structure-section{
    padding:75px 0;
  }

  .ep-step-1,
  .ep-step-2,
  .ep-step-3,
  .ep-step-4,
  .ep-step-5,
  .ep-step-6,
  .ep-step-7{
    width:100%;
  }

  .ep-step{
    grid-template-columns:40px 1fr;

    padding:21px 18px;
  }

  .ep-command{
    padding:28px 24px;
  }

  .ep-lgpd{
    left:10px;
    right:10px;
    bottom:10px;
  }

  .ep-lgpd-inner{
    flex-direction:column;

    align-items:stretch;

    gap:14px;

    padding:17px;
  }

  .ep-lgpd-text{
    display:block;
  }

  .ep-lgpd-text strong{
    display:block;

    margin-bottom:5px;
  }

  .ep-lgpd-actions{
    display:grid;

    grid-template-columns:1fr 1fr;
  }

  .ep-lgpd-link{
    grid-column:1 / 3;
    justify-content:flex-start;

    padding:0;
  }

  .ep-lgpd-actions button{
    width:100%;
  }

}


/* ==========================================================
   MONTSERRAT
========================================================== */

.ep-proof-section *,
.ep-meed-section *,
.ep-structure-section *,
.ep-lgpd *{
  font-family:"Montserrat",Arial,sans-serif !important;
}

