/* Design system de sosfactory.com, página 35737: generado por scripts/sosfactory/build-ds-css.js, no editar a mano */
body:has(.ds) .content .full_width .vc_row{padding:0;margin-left:0;margin-right:0}
body:has(.ds) .content .full_width .vc_column_container>.vc_column-inner{padding:0}
body:has(.ds) .content .wpb_raw_code.wpb_content_element{margin-bottom:0}
.ds.sosf-legacy{display:block;gap:0;width:auto;left:auto;transform:none;overflow-x:clip}
.ds{--eyebrow-size:20px;--eyebrow-ls:2px;--tiny-size:12px;--tiny-lh:1.4}
@media (max-width:1024px){.ds{--eyebrow-ls:1.5px}}
@media (max-width:767px){.ds{--eyebrow-size:15px;--eyebrow-ls:1px}}
.ds :is(h1,h2,h3,h4,p,ul,ol,figure):not(:where(.legacy.prose *,.ds-type *,.toc *,.toc-cta *,.cta-band *)){margin:0}
.ds .title{height:auto;padding:0}
.ds :is(h1,h2,h3,h4){text-align:inherit}
.ds .fas{font-family:'Font Awesome 5 Free'!important;font-weight:900}
.ds :is(p,li):not(:where(.toc *,.toc-cta *)){font-size:var(--fs-copy);line-height:var(--lh-copy);letter-spacing:var(--ls-copy)}
.ds :is(.section,.section-header,.wrapper,.pills,.actions,.row,.col,.ds-demo){display:flex;flex-direction:column;gap:var(--space-md);box-sizing:border-box}
.ds :is(.section,.wrapper,.col){width:100%}
.ds :is(.row,.pills,.actions){flex-direction:row;flex-wrap:wrap;align-items:center}
.ds .row>.col{flex:1 1 0;min-width:0}
.ds :is(.btn,.pill,.btn-subtle-arrow){display:inline-block}
.ds .elementor-button{text-decoration:none}
.ds .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:6px}
.ds .elementor-icon-list-items{list-style:none;margin:0;padding:0}
.ds .elementor-icon-list-item{display:flex;align-items:center;gap:var(--space-xs);margin:0 0 calc(var(--space-xs) / 2)}
.ds .elementor-icon-list-icon{color:var(--color-accent)}
.ds .elementor-icon-list-text{padding:0!important}
.ds .theme-dark2 .elementor-icon-list-text{color:var(--color-secondary)}
.ds img{display:block;max-width:100%;height:auto}
.ds .section-image{border-radius:var(--radius-card)}
.ds .center :is(h1,h2,h3,p){text-align:center}
.ds #breadcrumbs{font-size:12px;margin:0}
.ds #breadcrumbs a:is(:link,:visited){color:inherit}
.ds .theme-dark2 :is(h1,h2,h3,p,#breadcrumbs,#breadcrumbs a){color:var(--color-secondary)}
.ds .theme-dark2 .eyebrow{color:var(--color-secondary)}
.ds .theme-accent :is(h1,h2,h3,p){color:var(--color-dark-bg)}
.ds .card-v,.ds .card-subtle{display:flex;flex-direction:column;color:inherit;text-decoration:none}
.ds .card-v h3,.ds .card-subtle h3{font-size:25px;line-height:1.1}
.ds .legacy.prose:not(.-wide){max-width:720px}
.ds .row:has(>.content-aside){flex-wrap:nowrap;align-items:stretch;gap:var(--space-2xl)}
@media (max-width:1024px){.ds .row:has(>.content-aside){flex-direction:column;gap:0}.ds .content-aside{flex:none}}
:where(.ds) .no-wrap{white-space: nowrap;}
:where(.ds) .h-reset h1,:where(.ds) .h-reset h2,:where(.ds) .h-reset h3,:where(.ds) .h-reset h4,:where(.ds) .h-reset h5,:where(.ds) .h-reset h6,:where(.ds) .h-reset p{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
:where(.ds) .elementor-icon-list-text{
   padding:0px !important;}
:where(.ds) .capped{ max-width: 800px !important; }
:where(.ds) .center{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
:where(.ds) .breadcrumbs a{ text-decoration: underline !important; }
:where(.ds) .section-header{
    gap: var(--space-sm);
}
:where(.ds) .section-header > *:last-child{ margin-bottom: 0 !important; }
:where(.ds) .section-header .breadcrumbs #breadcrumbs{
  margin: 0 !important;
}
:where(.ds) .section-header .eyebrow{
    margin-bottom: calc(var(--space-xs) - var(--space-md)) !important; 
}
:where(.ds) .section-header .title h2{
  margin: 0 !important;
  text-transform: capitalize;
}
:where(.ds) .section-header:has(.pills) .title{
  margin-bottom: 0 !important;
}
:where(.ds) .section-header .pills{
    display: flex;
    gap: var(--space-xs);
    flex-wrap: wrap;
}
:where(.ds) .section-header .lead{
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.3;
}
@media (max-width: 767px) {
:where(.ds) .section-header .lead{ font-size: 26px; }
}
:where(.ds) .section-header p:not(.eyebrow),:where(.ds) .prose p,:where(.ds) .card-v p,:where(.ds) .card-subtle p{
    max-width: var(--measure);
}
:where(.ds) .section-header p{
    margin: 0;
}
:where(.ds) .section-header .actions{
    margin-top: calc(var(--space-lg) - var(--space-sm));
    display: flex;
    gap: var(--space-sm);
}
:where(.ds) .section-header.center p{ margin-inline: auto; }
:where(.ds) .section-header.center :is(.actions,:where(.ds) .pills){ justify-content: center; }
:where(.ds) .section-image img,:where(.ds) img.section-image{
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    object-position: top;
    border-radius: var(--radius-card, var(--radius-xl) var(--radius-xl) var(--radius-xl) 0);
}
:where(.ds) .section-title-u::after{
    content: "";
    display: block;
    width: 40px;
    border-bottom: 4px solid var(--color-accent);
    margin-top: var(--space-xs);
}
:where(.ds) .section{ width: 100%; padding-block: clamp(40px, 8vw, 60px); }
:where(.ds) .section--nopadding{ padding-block: 0px; }
:where(.ds) .section--tight{ padding-block: clamp(20px, 4vw, 40px); }
:where(.ds) .section--xl{ padding-block: clamp(80px, 12vw, 120px); }
:where(.ds) .section--no-top{ padding-top: 0; }
:where(.ds) .section--no-bottom{ padding-bottom: 0; }
@media (max-width: 767px) {
:where(.ds) .section--no-bottom-mobile{ padding-bottom: 0; }
}
:where(.ds) .section--round{
    --shape-h: clamp(80px, 13vw, 200px);
    --shape-color: var(--color-dark-bg); 
    position: relative;
    overflow: clip;
    padding-bottom: calc(clamp(40px, 8vw, 60px) + var(--shape-h));
}
:where(.ds) .section--round::after{
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -1px;
    height: var(--shape-h);
    background: var(--shape-color);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    pointer-events: none;
}
:where(.ds) .round-to-dark{ --shape-color: var(--color-text); }
:where(.ds) .round-to-light{ --shape-color: var(--color-secondary); }
:where(.ds) .round-to-accent{ --shape-color: var(--color-accent); }
:where(.ds) .wrapper{
    --wrapper-x: clamp(20px, 4vw, 40px);
    max-width: calc(1500px + 2 * var(--wrapper-x));
    margin-inline: auto;
    padding-inline: var(--wrapper-x);
    box-sizing: border-box;
}
:where(.ds) .wrapper--wide{ max-width: calc(1920px + 2 * var(--wrapper-x)); }
:where(.ds) .wrapper--no-padding-x{ padding-inline: 0; }
@media (max-width: 767px) {
:where(.ds) .wrapper--no-right-mobile{ padding-right: 0; }
:where(.ds) .wrapper--no-left-mobile{ padding-left: 0; }
}
@media (min-width: 768px) {
:where(.ds) .shape-rounded-left{
        border-radius: clamp(2px, 4vw, var(--radius-full)) 0 0 clamp(2px, 4vw, var(--radius-full));
        margin-left: clamp(20px, 4vw, 100px);
        width: 95%;
        float: right;
    }
:where(.ds) .shape-rounded-right{
        border-radius: 0 clamp(2px, 4vw, var(--radius-full)) clamp(2px, 4vw, var(--radius-full)) 0;
        margin-right: clamp(20px, 4vw, 100px);
        width: 95%;
        float: left;
        padding-inline: clamp(20px, 4vw, 40px);
    }
}
:where(.ds) .shape-rounded-full{ border-radius: var(--radius-full); padding-inline: 10%; }
:where(.ds) .shape-rounded-top{ border-radius: var(--radius-full) var(--radius-full) 0 0; }
:where(.ds) .shape-rounded-bottom{ border-radius: 0 0 var(--radius-full) var(--radius-full); }
:where(.ds) .shape-corner-top-left{ border-radius: var(--radius-full) 0 0 0; }
:where(.ds) .shape-diagonal{ clip-path: polygon(0 0, 100% 10%, 100% 100%, 0 90%); }
:where(.ds) .shape-pill-horizontal{ border-radius: var(--radius-full); padding-inline: 20px; }
:where(.ds) .shape-curve-bottom{
    border-bottom-left-radius: 50% var(--radius-lg);
    border-bottom-right-radius: 50% var(--radius-lg);
}
:where(.ds) .shape-circle{
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
:where(.ds) .theme-dark{
    background-color: var(--color-text);
    color: var(--color-text);
}
:where(.ds) .theme-dark2{
    background-color: var(--color-dark-bg);
    color: var(--color-secondary);
}
:where(.ds) .theme-dark2 a{
    color: var(--color-secondary);
    padding: 2px 6px;
    font-weight: bold;
}
:where(.ds) .theme-dark2 a:hover{
    color: var(--color-accent) !important;
    background-color: transparent !important;
}
:where(.ds) .theme-light{
    background-color: var(--color-secondary);
    color: var(--color-text);
}
:where(.ds) .theme-accent{
    background-color: var(--color-accent);
    color: var(--btn-bg-dark) !important;
}
@media (min-width: 1201px) {
:where(.ds) .hover-up{
        transition: transform var(--transition-base);
        will-change: transform;
    }
:where(.ds) .hover-up:hover{ transform: translateY(-5px); }
}
:where(.ds) .card-v,:where(.ds) .card-subtle{
  gap: var(--space-sm);
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 10%; 
  border-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) 0px;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}
:where(.ds) .card-v{
  box-shadow: var(--shadow-card) !important;
}
:where(.ds) .card-v:hover{
  box-shadow: var(--shadow-card-hover);
}
:where(.ds) .card-v img{
  display: block;
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
}
:where(.ds) .card-v:has(> :is(img,:where(.ds) .elementor-widget-image):only-child){
  padding: 0;
  overflow: hidden;
}
:where(.ds) .card-subtle{
  background-color: var(--overlay-soft);
}
:where(.ds) .cols{
  --cols-gap: var(--space-lg);
  --gap: var(--cols-gap);
  --row-gap: var(--cols-gap);
  --column-gap: var(--cols-gap);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--cols-gap);
  align-items: stretch;
}
:where(.ds) .cols.-three{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
:where(.ds) .cols.-four{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
:where(.ds) .cols.-image-text{ --cols-gap: var(--space-2xl); grid-template-columns: 2fr 3fr; align-items: center; }
:where(.ds) .cols.-text-image{ --cols-gap: var(--space-2xl); grid-template-columns: 3fr 2fr; align-items: center; }
:where(.ds) .cols.-top{ align-items: start; }
:where(.ds) .cols.-center{ align-items: center; }
:where(.ds) .cols > *{ min-width: 0; }
@media (max-width: 1024px) {
:where(.ds) .cols{ --cols-gap: var(--space-md); }
:where(.ds) .cols.-four{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
:where(.ds) .cols.-image-text,:where(.ds) .cols.-text-image{ --cols-gap: var(--space-xl); }
}
@media (max-width: 767px) {
:where(.ds) .cols,:where(.ds) .cols.-three,:where(.ds) .cols.-four,:where(.ds) .cols.-image-text,:where(.ds) .cols.-text-image{ grid-template-columns: minmax(0, 1fr); --cols-gap: var(--space-md); }
}
:where(.ds) .grid-3{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg) !important; 
}
@media (max-width: 1024px) {
:where(.ds) .grid-3{
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md) !important; 
  }
}
@media (max-width: 767px) {
:where(.ds) .grid-3{
    grid-template-columns: 1fr;
    gap: var(--space-md) !important; 
  }
}
:where(.ds) .v-light{
    color: var(--color-secondary) !important;
    border-color: var(--color-secondary) !important;
}
:where(.ds) .v-light a{ color: inherit !important; border-color: inherit !important; }
:where(.ds) .v-dark{
    color: var(--color-text) !important;
    border-color: var(--color-text) !important;
}
:where(.ds) .v-dark a{ color: inherit !important; border-color: inherit !important; }
:where(.ds) .eyebrow{
    font-family: "barlow condensed", Sans-Serif;
    font-size: var(--eyebrow-size) !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    letter-spacing: var(--eyebrow-ls) !important;
    display: block;
}
:where(.ds) .eyebrow p{
    margin: 0;
}
:where(.ds) .tiny-label{
    font-size: var(--tiny-size) !important;
    line-height: var(--tiny-lh) !important;
}
:where(.ds) p a,:where(.ds) li:where(:not(.menu-item,:where(.ds) .lang-item,:where(.ds) .elementor-icon-list-item)) a{
    text-decoration: underline !important;
}
:where(.ds) .l-ultrasub a,:where(.ds) .l-arrow:not(.l-sub) a{
    text-decoration: none !important;
}
:where(.ds) .l-sub,:where(.ds) .l-sub a{
    color: var(--color-text) !important;
    text-decoration: underline;
}
:where(.ds) .l-sub:hover,:where(.ds) .l-sub a:hover{
    color: var(--color-text) !important;
}
:where(.ds) .l-ultrasub,:where(.ds) .l-ultrasub a{
    color: var(--color-text) !important;
    font-weight: normal;
}
:where(.ds) .l-arrow{
    display: inline-block;
    position: relative;
    padding-right: 1.2em;
}
:where(.ds) .l-arrow,:where(.ds) .l-arrow a{
    color: var(--color-text) !important;
    transition: color var(--transition-base);
}
:where(.ds) .l-arrow::after{
    content: '→';
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    transform: translate(0, 0) rotate(var(--arrow-rotate, 0deg));
    transition: transform var(--transition-base);
}
:where(.ds) .l-arrow:hover::after{
    transform: translate(var(--arrow-x, 4px), var(--arrow-y, 0)) rotate(var(--arrow-rotate, 0deg));
}
:where(.ds) .l-arrow.-down{
    --arrow-rotate: 90deg;
    --arrow-x: 0;
    --arrow-y: 4px;
}
:where(.ds) .l-arrow.-up{
    --arrow-rotate: -90deg;
    --arrow-x: 0;
    --arrow-y: -4px;
}
:where(.ds) .l-arrow.-left{
    --arrow-rotate: 180deg;
    --arrow-x: -4px;
    --arrow-y: 0;
}
:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-arrow,:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-arrow a,:where(.ds) .l-arrow:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2),:where(.ds) .l-arrow:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) a{
    color: var(--color-secondary) !important;
}
:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-arrow:hover,:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-arrow a:hover,:where(.ds) .l-arrow:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2):hover,:where(.ds) .l-arrow:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) a:hover{
    color: var(--color-secondary) !important;
}
:where(.ds) .on-accent .l-arrow,:where(.ds) .on-accent .l-arrow a,:where(.ds) .l-arrow.on-accent,:where(.ds) .l-arrow.on-accent a{
    color: var(--btn-bg-dark) !important;
}
:where(.ds) .on-accent .l-arrow:hover,:where(.ds) .on-accent .l-arrow a:hover,:where(.ds) .l-arrow.on-accent:hover,:where(.ds) .l-arrow.on-accent a:hover{
    color: var(--color-text) !important;
}
:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-sub,:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-sub a,:where(.ds) .l-sub:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2),:where(.ds) .l-sub:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) a{
    color: var(--color-secondary) !important;
}
:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-sub:hover,:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-sub a:hover,:where(.ds) .l-sub:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2):hover,:where(.ds) .l-sub:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) a:hover{
    color: var(--color-accent) !important;
}
:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-ultrasub,:where(.ds) :is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) .l-ultrasub a,:where(.ds) .l-ultrasub:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2),:where(.ds) .l-ultrasub:is(.on-dark,:where(.ds) .theme-dark,:where(.ds) .theme-dark2) a{
    color: var(--color-secondary) !important;
}
:where(.ds) .on-accent .l-sub,:where(.ds) .on-accent .l-sub a,:where(.ds) .l-sub.on-accent,:where(.ds) .l-sub.on-accent a{
    color: var(--btn-bg-dark) !important;
}
:where(.ds) .on-accent .l-sub:hover,:where(.ds) .on-accent .l-sub a:hover,:where(.ds) .l-sub.on-accent:hover,:where(.ds) .l-sub.on-accent a:hover{
    color: var(--color-text) !important;
}
:where(.ds) .on-accent .l-ultrasub,:where(.ds) .on-accent .l-ultrasub a,:where(.ds) .l-ultrasub.on-accent,:where(.ds) .l-ultrasub.on-accent a{
    color: var(--btn-bg-dark) !important;
}
:where(.ds) .link-marker{
    color: var(--color-secondary) !important;
    background-image: linear-gradient(transparent 65%, var(--color-text) 65%);
    transition: background-image var(--transition-fast);
}
:where(.ds) .link-marker:hover{
    background-image: linear-gradient(transparent 65%, var(--color-link-hover-dark) 65%);
}
:where(.ds) .link-marker-accent{
    color: var(--color-accent) !important;
    background-image: linear-gradient(transparent 65%, var(--color-text) 65%);
    transition: background-image var(--transition-fast);
}
:where(.ds) .link-marker-accent:hover{
    background-image: linear-gradient(transparent 65%, var(--color-link-hover-dark) 65%);
}:where(.ds) .section{padding-block:var(--sec-y)}
:where(.ds) .section:where(:not([class*="theme-"]):is(.section:not([class*="theme-"]) + *)){padding-top:0}

.portfolio .section:first-child{padding-top:var(--space-2xl)}
.portfolio .gallery{margin-top:var(--space-md);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-md)}
.portfolio .gallery.-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.portfolio .gallery .card-v img{aspect-ratio:auto}
.portfolio .logos{margin-top:var(--space-lg);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-sm) var(--space-xl)}
.portfolio .logos img{width:150px;height:auto}
.portfolio .stats{display:grid;grid-template-columns:repeat(6,150px);justify-content:center}
.portfolio .stats div{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-xs);text-align:center;border-left:1px solid rgba(60,58,46,.25)}
.portfolio .stats div:first-child{border-left:0}
.portfolio .stats strong{font:700 30px/1.2 "Barlow Condensed",sans-serif;margin-bottom:var(--space-xs)}
.portfolio .stats span{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption)}
.portfolio .cols.-image-text{--cols-gap:var(--space-lg);grid-template-columns:320px minmax(0,680px);justify-content:center}
.portfolio .cta-img{justify-self:end;max-width:320px}
@media (max-width:1024px){.portfolio .stats{grid-template-columns:repeat(3,150px)}.portfolio .stats div:nth-child(4){border-left:0}.portfolio .gallery,.portfolio .gallery.-four{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio .logos{gap:var(--space-sm) var(--space-lg)}.portfolio .logos img{width:120px}}
@media (max-width:767px){.portfolio .gallery,.portfolio .gallery.-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.portfolio .stats{grid-template-columns:repeat(3,1fr)}.portfolio .stats div:nth-child(4){border-left:1px solid rgba(60,58,46,.25)}.portfolio .stats div:nth-child(3n+1){border-left:0}.portfolio .cta-img{max-width:220px}}
.portfolio .section-header .actions a[aria-current]{pointer-events:none;cursor:default}
@media (max-width:767px){.portfolio .section-header .actions{flex-wrap:nowrap;gap:6px}.portfolio .section-header .actions .btn{flex:0 1 auto;min-width:0}.portfolio .section-header .actions .btn .elementor-button{padding:10px 8px;font-size:var(--fs-caption);white-space:nowrap}}
.portfolio .section-header .actions .btn.-primary .elementor-button{--btn-color:var(--color-secondary)}
.portfolio .section-header .actions .btn.-secondary .elementor-button{--btn-color-hover:var(--color-accent)}
.portfolio .section-header p:has(>.l-sub){font-size:var(--fs-small)!important;line-height:var(--lh-small)!important}
.portfolio .cols.-image-text h2{font-size:var(--fs-h2)!important;line-height:var(--lh-h2)!important}
