:root {
  --color-primary: #260254;
  --color-secondary: #E04D26;
  --color-secondary-dark: #A13517;
  --color-text: #191919;
  --color-light: #FFF;
  --fs-h1: 60px;
  --fs-h2: 45px;
  --fs-p: 24px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
}
body {
  font-family: 'Outfit', sans-serif;
  color: var(--color-primary);
}
section { padding: 0 clamp(24px, 8vw, 130px); }
h1, h2 { text-transform: uppercase; font-weight: 600; }
h1 { font-size: var(--fs-h1); }
p { 
    color: var(--color-text);
    font-size: var(--fs-p);
    line-height: 1.275; /* 127.5% 30.6px*/
}
.btn-primary, .btn-navbar {
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    font-weight: 600;
    border: 0;
}
.btn-primary {
    background-color: var(--color-secondary);
    color: var(--color-light);
    padding: 10px 30px;
    font-size: 24px;
    letter-spacing: 0.48px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-primary:hover, .btn-primary:active { background-color: var(--color-secondary); }
.btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
/* NAVBAR */
.navbar {
    /* height: 60px; */
    width: 90vw;
    margin: 40px auto;
    padding: 15px 50px;
    align-items: center;
    background-color: #260254;
    color: #FFF;
    border-radius: 6px;
    box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.15), 0px 10px 10px rgba(0, 0, 0, 0.1);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
} 
.navbar .navbar-nav { gap: 18px; }
.logo { height: 47px; }
.navbar .nav-link { 
    color: #FFF; 
    text-transform: uppercase; 
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.24px;
    text-align: center;
} 
.navbar-expand-lg .navbar-nav .nav-link { padding: 0; }
.btn-navbar {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}
/* VIDEO */
#background-video-hero {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
/* HERO */
#hero {
    position: relative;
    overflow: hidden;
    padding-top: 250px;
    padding-bottom: 65px;
    min-height: 100vh;
}
.hero-content { 
    position: relative; 
    z-index: 1; 
}
#hero h1 { margin-bottom: 50px; }
#hero span {
    display: inline-block;
    background-color: #E04D26;
    border-radius: 7.192px;
    padding: 11.987px 29.968px;
    color: #FFF;
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 73.841px; /* 123.068% */
    letter-spacing: -1.343px;
}
#hero p { margin-bottom: 25px; }
.hero-img { width: 100%; }
.after-btn { 
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 30.6px; /* 127.5% */
    margin: 10px 0 0 0;
}
.reveal {
    opacity: 0;
    transform: translateY(40px);
}
/* PROBLEMAS */
.bg-problemas-partner {
    background-color: #DDC3FD;
    position: relative;
    background-image: url("../assets/bg-3.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
    color: #FFF;
}
.bg-problemas-partner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(38, 2, 84, .8) 0%, rgba(131, 71, 173, .8) 63.94%);
    z-index: 1;
}
.bg-problemas-partner > * { position: relative; z-index: 2;
}
#problemas_usuario {
    padding-top: 10%;
    padding-bottom: 10%; 
}
.bg-problemas-partner h2 {
    text-align: center;
    font-size: 45px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.bg-problemas-partner p { color: #FFF; text-align: center; margin-bottom: 0; }
.problemas-subtitle {
    color: #FF9A78;
    font-weight: 700;
    line-height: 50px; /* 111.111% */
    margin-top: 60px;
    margin-bottom: 60px !important;
}
.problemas-content {
    display: flex;
    justify-content: center;
    align-items: center;
}
.card-wrapper { justify-content: center; }
.card-wrapper > .col {
    display: flex;
    justify-content: center;
}
.card-problemas-wrap { perspective: 1000px; }
.card-problemas {
    padding: 24px;
    border-radius: 16.4px;
    background: #FFF;
    box-shadow: -6px 8px 16.3px var(--sds-size-depth-0) #8347AD;
    border: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    --rX: 0deg;
    --rY: 0deg;
    transform-style: preserve-3d;
    transform: rotateX(var(--rX)) rotateY(var(--rY));
    transition: transform 0.25s ease-out, box-shadow 0.25s ease-out;
    will-change: transform;
}
.card-problemas:hover { box-shadow: -12px 16px 32px rgba(131, 71, 173, 0.45); }
/* .card-problemas * { transform: translateZ(30px); } */
.img-fluid { width: 46px; max-width: fit-content; }
.card-problemas .card-title {
    color: #191919;
    font-size: 25px;
    font-style: normal;
    font-weight: 400;
    line-height: 30.6px; /* 122.4% */
    padding-left: 10px;
}
.bottom-text { margin-top: 60px; }
/* PARTNER */
.logo-partner { height: 70px; }
.card-partner:hover {
    box-shadow: -6.6px 8.8px 17.93px 9px rgba(25, 25, 25, .6);
    transform: scale(1.05, 1.05);
}
#partner_tecnologico { padding-bottom: 68px; }
#partner_tecnologico h2 {
    text-align: center;
    font-size: 45px;
    font-style: normal;
    font-weight: 700;
    /* line-height: 100.145%; */
    text-transform: uppercase;
    margin-top: 100px;
    margin-bottom: 20px;
}
#partner_tecnologico span { color: #FFB7A6; }
#partner_tecnologico p { margin-bottom: 60px; }
.card-partner {
    padding: 15px;
    border-radius: 16.4px;
    background: #FFF;
    box-shadow: -6px 8px 16.3px var(--sds-size-depth-0) #FFF;
    border: 0;
}
.card-top { display: flex; align-items: center; }
.card-partner .card-step {
    color: #E84E1B !important;
    font-size: 64px;
    font-style: normal;
    font-weight: 700;
    /* line-height: 46px; */
}
.card-partner .icon {
  width: 46px;
  height: 46px;
  color: #FF9A78;
}
.card-partner .card-title {
    color: #260254;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 31.2px; /* 130% */
    margin-top: 40px;
    margin-bottom: 15px;
}
.card-partner .card-text {
    color: #191919;
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 27px; /* 158.824% */
    text-align: left;
}
/* COMO FUNCIONAMOS */
.bg-como-clientes { position: relative; overflow: hidden; }
.bg-como-clientes::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #DDC3FD;
    background-image: url("../assets/bg-2.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.35;
    z-index: 0;
}
.bg-como-clientes > * { position: relative; z-index: 1; }
#como_funcionamos {  padding-top: 100px; }
#como_funcionamos h2 {  
    color: #260254;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    line-height: 100.145%; /* 45.065px */
    text-transform: uppercase;
}
#como_funcionamos span {
    color: #FFF;
    line-height: 73.841px; /* 164.091% */
    letter-spacing: -1.343px;
    background-color: #E04D26;
    border-radius: 7.192px;
    padding: 8px 29.968px;
    margin-bottom: 35px;
}
#como_funcionamos p { text-align: center; margin-bottom: 0; }
/* BENEFICIOS */
#beneficios { padding-top: 60px; }
.beneficios-svg {
    width: 70%;
    height: auto;
    display: block;
    margin: 0 auto;
}
.hex-number {
    fill: #FFF;
    font-size: 73.061px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -1.461px;
}
.hex-label {
    fill: #FFF;
    font-size: 21px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: -0.42px;
}
.line {
    fill: none;
    stroke: #E88961;
    stroke-width: 10;
    stroke-linecap: round;
    stroke-dasharray: none;
}
.hex { transform-origin: center; }
/* CLIENTES */
#clientes { 
    margin-top: 50px;
    padding: 50px 0 100px 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.50) 0%, rgba(255, 183, 166, 0.70) 100%);
}
#clientes h2 { 
    color: #260254;
    text-align: center;
    font-style: normal;
    font-weight: 600;
    line-height: 100.145%; /* 45.065px */
    text-transform: uppercase;
    margin-bottom: 20px;
}
#clientes p { text-align: center; margin-bottom: 60px; }
.logos-carousel {
    overflow: hidden;
    padding: 60px 0;
    white-space: nowrap;
}
.logos-slide {
    display: inline-block;
    animation: 10s infinite-carousel infinite linear;
}
.logos-slide img {
    height: 100px;
    margin: 0 40px;
}
@keyframes infinite-carousel {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}
/* CONTACTO */
#contacto {
    background-color: #DDC3FD;
    position: relative;
    background-image: url("../assets/bg-2.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 60px;
    padding-bottom: 100px;
}
#contacto::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 183, 166, 0.70) 0%, rgba(38, 2, 84, 0.70) 100%);
    z-index: 0;
}
#contacto > * { position: relative; z-index: 1; }
#contacto h2 {
    font-size: 60px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}
.card-contacto {
    border-radius: 10px;
    background: #FFF;
    padding: 50px;
    box-shadow: 20px 20px 40px 0 rgba(0, 0, 0, 0.30);
}
.card-contacto .card-title {
    color: #260254;
    text-align: center;
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    margin-bottom: 30px;
}
.card-body, .b24-form-header-padding, .b24-form-content, .b24-form-padding-side, .b24-form-btn-block { padding: 0 !important; }
.b24-form-btn {
    margin-top: 30px !important;
    text-transform: uppercase;
}
.b24-form-sign { padding: 10px 0 !important; }
.card-contacto-text {
    color: #260254;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 30.6px; /* 127.5% */
    text-align: center;
}
/* FOOTER */
footer {
  background-color: #260254;
  padding: 5%;
  color: #FFFFFF;
  text-transform: uppercase;
}
footer .logo-footer {width: 60%; margin-bottom: 20px;}
footer .icon { width: 24px;}
footer h5 { font-size: 16px; margin-bottom: 10%; font-weight: 700; letter-spacing: 0.1em; }
footer ul { padding-left: 0;}
footer li {
  list-style-type: none;
  margin-bottom: 15px;
  font-size: 14px;
}
footer li a{
  color: #FFFFFF;
  text-decoration: none;
}
footer .contact-info { text-transform: none; }
/* LAPTOP SM */
@media (max-width: 1100px) {
    .navbar { padding: 10px 30px;}
    .logo { height: 40px; }
    .navbar .navbar-nav { gap: 10px; }
}
/* TABLET */
@media (max-width: 992px) {
    h1 { font-size: 44px; }
    h2 { font-size: 36px; }
    p { font-size: 20px; }
    /* NAVBAR */
    .navbar {
        width: 95vw;
        height: auto;
        padding: 10px 25px;
        margin: 40px auto;
    }
    .navbar .navbar-nav { gap: 40px; margin: 30px 0 20px 0;  }
    /* HERO */
    #hero { padding-top: 200px; }
    #hero h1 { margin-bottom: 30px; }
    #hero span {
        font-size: 44px;
        line-height: 1.2;
    }
    .hero-img {
        max-width: 80%;
        margin: 0 auto;
    }
    /* PROBLEMAS */
    .bg-problemas-partner h2 { font-size: 36px; }
    #problemas_usuario .bottom-text { margin-top: 40px; }
    .card-problemas { margin-bottom: 0; }
    /* CARDS */
    .img-fluid { width: 100px; margin-bottom: 20px; }
    .card-problemas {
        width: 100%;
        max-width: 340px;
    }
    /* PARTNER */
    .card-partner-wrapper > .col { margin-bottom: 20px; }
    .card-partner .card-title { margin-top: 20px; }
    /* BENEFICIOS */
    .beneficios-svg { width: 90%; }
    /* CLIENTES */
    #clientes p, #clientes h2 { padding: 0 40px; }
    /* CONTACTO */
    #contacto h2 { font-size: 44px; text-align: center; }
    .card-contacto { padding: 30px; }
    /* FOOTER */
    footer { padding: 10% 5%; text-align: center; }
    footer .logo-footer { width: 50%; margin: 0 auto 10px; }
    footer .icon { width: 32px; margin: 20px 0; }
    footer h5 { font-size: 22px; margin: 5% 0; }
}
/* MOBILE */
@media (max-width: 768px) {
    h1 { font-size: 34px; }
    h2 { font-size: 28px; }
    p { font-size: 18px; line-height: 1.4; }
    /* NAVBAR */
    .navbar {
        height: auto;
        padding: 15px;
        margin: 20px auto;
    }
    .navbar .navbar-nav { margin: 30px 0 20px 0; }
    .logo { height: 36px; }
    .navbar .nav-link { font-size: 11px; }
    /* HERO */
    #hero {
        padding-top: 160px;
        text-align: center;
    }
    #hero h1 { margin-bottom: 30px; }
    #hero span {
        font-size: 32px;
        padding: 8px 20px;
    }
    .btn-primary { font-size: 18px; }
    .after-btn { font-size: 18px; }
    /* PROBLEMAS */
    .bg-problemas-partner h2 { font-size: 28px; }
    .card-problemas .img-fluid { margin-bottom: 20px; }
    .problemas-subtitle {
        line-height: 1.3;
        margin-bottom: 40px !important
    }
    /* PARTNER */
    .logo-partner { height: 46px; }
    #partner_tecnologico h2 {
        font-size: 28px;
        margin-top: 60px;
    }
    #partner_tecnologico p { margin-bottom: 30px; }
    .card-partner-wrapper > .col { margin-bottom: 20px; }
    .card-partner .card-title { margin-top: 10px; }
    /* COMO */
    #como_funcionamos span { padding: 8px 10px; line-height: 54px; }
    /* BENEFICIOS */
    .beneficios-svg { width: 100%; }
    /* CLIENTES */
    .logos-slide img {
        height: 60px;
        margin: 0 20px;
    }
    /* CONTACTO */
    #contacto h2 {
        font-size: 34px;
        text-align: center;
        margin-bottom: 20px;
    }
    .card-contacto { padding: 25px 20px; }
    .card-contacto .card-title { font-size: 26px; }
    .card-contacto-text { font-size: 18px; line-height: 24px; }
}