
/* --- Style Block 0 --- */
.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}.w-webflow-badge, .new-base--t-card, .new-base--t-temlis-component {display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}

/* --- Style Block 1 --- */
html.w-mod-js:not(.w-mod-ix3) :is([title-icon], [animation="right"], [cta], [animation="hero"], [hero-text], [animation="hero-button"], [animation="visual"], [hero-bg], [animation="wrap"], [animation="opacity"], [animation="scroll"], .loop_logos) {visibility: hidden !important;}

/* --- Style Block 2 --- */
/* offline: ensure content is visible regardless of JS init state */
html,body{opacity:1!important;visibility:visible!important}
.page-loader,.site-loader,[class*='loading-screen'],[id*='loading-screen']{display:none!important}


/* --- Style Block 3 --- */

@media screen and (max-width: 479px) {
  .expertis_cards {
    flex-flow: column !important;
    overflow: visible !important;
  }
  .expertis_card {
    flex: initial !important;
    width: auto !important;
  }
}


/* --- Style Block 4 --- */



/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
   outline: 0.125rem solid #4d65ff;
   outline-offset: 0.125rem;
}

/* Set color style to inherit */
.inherit-color * {
    color: inherit;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}


/* Make sure containers never lose their center alignment */
.container-medium,.container-small, .container-large {
	margin-right: auto !important;
  margin-left: auto !important;
}

/* 
Make the following elements inherit typography styles from the parent and not have hardcoded values. 
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/

/* Apply "..." after 3 lines of text */
.text-style-3lines {
	font-size: 16px;
	line-height: 1.45;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Adds inline flex display */
.display-inlineflex {
  display: inline-flex;
}

/* These classes are never overwritten */
.hide {
  display: none !important;
}

@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}
  @media screen and (max-width: 767px) {
    .hide-mobile-landscape{
      display: none !important;
    }
}
  @media screen and (max-width: 479px) {
    .hide-mobile{
      display: none !important;
    }
}
 
.margin-0 {
  margin: 0rem !important;
}
  
.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}
  
.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}
  
.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}
  
.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}
  
.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.sidebar::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.sidebar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

.spacer * { padding: 0 }

.img-carousel__face-front {
  --b: 1px;
  --b2: 0.5px;              /* border thickness */
  --r: 1px;             /* radius */
  --top: #fff;           /* top border color */
  --side: #fff;          /* side start color */

  border-radius: var(--r);

  background:
    /* TOP border (solid white) */
    linear-gradient(var(--top), var(--top)) top / 100% var(--b) no-repeat,

    /* LEFT border (white -> transparent downward) */
    linear-gradient(to bottom, var(--side), transparent)
      left / var(--b2) 100% no-repeat,

    /* RIGHT border (white -> transparent downward) */
    linear-gradient(to bottom, var(--side), transparent)
      right / var(--b2) 100% no-repeat,

    /* Fill */
    transparent; /* your actual background */

}


.logo {
  height: 2rem;
  width: auto;
}

/* Mobile slider arrows alignment fix inside the white card */
@media screen and (max-width: 767px) {
  .testimonia_card-content {
    min-height: 24rem !important;
  }
  .testimonial_arrow {
    top: 20.5rem !important;
    bottom: auto !important;
    left: auto !important;
    right: 5.5rem !important;
    transform: none !important;
  }
  .testimonial_arrow.is-right {
    top: 20.5rem !important;
    bottom: auto !important;
    left: auto !important;
    right: 2rem !important;
    transform: none !important;
  }
}

@media screen and (max-width: 479px) {
  .testimonia_card-content {
    min-height: 27rem !important;
  }
  .testimonial_arrow {
    top: 23.5rem !important;
    bottom: auto !important;
    left: auto !important;
    right: 5.5rem !important;
    transform: none !important;
  }
  .testimonial_arrow.is-right {
    top: 23.5rem !important;
    bottom: auto !important;
    left: auto !important;
    right: 2rem !important;
    transform: none !important;
  }
}


/* --- Style Block 5 --- */

@media screen and (min-width: 768px) {
  .pricing_cards.is-centered {
    grid-template-columns: 1fr 1fr !important;
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
  }
}
.pricing_card.is-top {
  background-color: #000000 !important;
  color: #ffffff !important;
}
.pricing_card.is-top .text-color-secondary {
  color: #ffffff !important;
}
.pricing_card.is-top .geistmono {
  color: #ffffff !important;
}
.pricing_card.is-top .container-icon {
  background-color: rgba(255, 255, 255, 0.1) !important;
}
.pricing_card.is-top .button {
  background-color: #f85300 !important;
  color: #ffffff !important;
}
.pricing_card.is-top .button:hover {
  background-color: #d44700 !important;
  color: #ffffff !important;
}

/* Mobile layout overrides for plans section to prevent overflow */
@media screen and (max-width: 767px) {
  .pricing_cards {
    padding: 0.75rem !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .pricing_card {
    padding: 1.5rem !important;
  }
  .pricing_card .button {
    white-space: nowrap !important;
    width: 100% !important;
    text-align: center;
    font-size: 14px !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .pricing_card .text-button-wrap {
    white-space: nowrap !important;
  }
}
@media screen and (max-width: 479px) {
  .pricing_cards {
    padding: 0.5rem !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .pricing_card {
    padding: 1.25rem !important;
  }
  .pricing_card .button {
    font-size: 13px !important;
  }
}


/* --- Style Block 6 --- */

  [data-anim] { visibility: hidden; }


/* --- Style Block 7 --- */

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-200% - (var(--gap) * 2)));
  }
}

/* Gap por defecto (Desktop ≥992px) */
.scroll {
  --gap: 1.5rem;
  animation: scroll 120s linear infinite;
}

.reverse {
  animation-direction: reverse;
}

.marquee-image {
  -webkit-transform: translateZ(0);
}

/* Tablet (≤991px) */
@media screen and (max-width: 991px) {
  .scroll {
    --gap: 1rem;
  }
}

/* Móvil horizontal (≤767px) */
@media screen and (max-width: 767px) {
  .scroll {
    --gap: 0.75rem;
  }
}


/* --- Custom Project Fixes --- */
.call-to_card {
  background-image: linear-gradient(#0000 50%, rgba(0, 0, 0, 0.24)), url("/assets/card-CTA.webp") !important;
}

.call-to_card.bg-black {
  background-image: none !important;
}


/* --- Style Block 8: Footer 4-column override --- */

.footer_right {
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
}

.footer_heading {
  font-family: var(--_typography---font-family--body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--base--white);
  margin: 0 0 0.5rem 0;
  padding: var(--_sizes---fixed--small);
  padding-bottom: 0;
}

.footer_bottom-tagline {
  font-size: var(--_sizes---fixed--medium, 0.875rem);
}

@media screen and (max-width: 767px) {
  .footer_right {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media screen and (max-width: 479px) {
  .footer_right {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* --- Style Block 9: Internal / Legal pages --- */

.internal-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.internal-page .main-wrapper {
  flex: 1;
}

.legal-page {
  max-width: 48rem;
  margin: 0 auto;
  padding: 4rem 1.5rem 6rem;
  color: var(--text-color--text-primary, #1a1a1a);
  font-family: var(--_typography---font-family--body, 'Inter', sans-serif);
  line-height: 1.7;
}

.legal-page h1 {
  font-family: var(--_typography---font-family--heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.legal-page .legal-page__date {
  font-size: 0.875rem;
  color: var(--grey--grey-400, #888);
  margin-bottom: 3rem;
}

.legal-page h2 {
  font-family: var(--_typography---font-family--heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 1.375rem;
  font-weight: 600;
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
  letter-spacing: -0.01em;
}

.legal-page h3 {
  font-family: var(--_typography---font-family--heading, 'Plus Jakarta Sans', sans-serif);
  font-size: 1.125rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}

.legal-page p {
  margin-bottom: 1rem;
  font-size: 1rem;
}

.legal-page ul,
.legal-page ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.legal-page li {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.legal-page a {
  color: var(--theme--primary, #f85300);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s;
}

.legal-page a:hover {
  color: var(--theme--primary-hover, #d44700);
}

.legal-page strong {
  font-weight: 600;
}

.legal-page hr {
  border: none;
  border-top: 1px solid var(--grey--grey-200, #e5e5e5);
  margin: 2.5rem 0;
}

@media screen and (max-width: 767px) {
  .legal-page {
    padding: 3rem 1.25rem 4rem;
  }
  .legal-page h1 {
    font-size: 1.75rem;
  }
  .legal-page h2 {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 479px) {
  .legal-page {
    padding: 2rem 1rem 3rem;
  }
  .legal-page h1 {
    font-size: 1.5rem;
  }
}
