.elementor-kit-4{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#FAFAF8;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --vs-ink:#0B0B0B; --vs-forest:#111111; --vs-forest-2:#1C1C1C; --vs-cream:#EDEDEA; --vs-paper:#FAFAF8; --vs-stone:#6E6E6A; --vs-line:#DCDCD8; --vs-accent:#0B0B0B; --vs-accent-soft:#A9A9A4; --vs-sans:Inter Tight; --vs-serif:Cormorant Garamond; }
/* Start custom CSS */:root{--vs-ease-out:cubic-bezier(.23,1,.32,1);--vs-ease-in-out:cubic-bezier(.77,0,.175,1)}
html{scroll-behavior:smooth}
body{background:#FAFAF8;color:#0B0B0B;font-family:'Inter Tight',sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;caret-color:#111111}
.elementor h1,.elementor h2,.elementor h3,.elementor h4,.elementor h5,.elementor h6,.elementor p{color:inherit;margin:0}
.elementor h1,.elementor h2{text-wrap:balance}
.elementor p{text-wrap:pretty}
.elementor em,.elementor i{font-style:normal}
.elementor strong,.elementor b{font-weight:500}
.elementor a{color:inherit}
::selection{background:#111111;color:#FAFAF8}
html{scrollbar-color:#BDBDB8 #FAFAF8;scrollbar-width:thin}
.elementor :focus-visible{outline:1px solid #8E8E89;outline-offset:4px}
.elementor input::placeholder,.elementor textarea::placeholder{color:#8E8E89}
.elementor input,.elementor select,.elementor textarea{transition:border-color .25s var(--vs-ease-out)}
.elementor .e-form-success-message,.elementor .e-form-error-message{font-size:.95rem;padding:1rem 0}

/* enlaces: subrayado que se retira hacia la derecha y vuelve desde la izquierda */
.elementor .vs-link{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:100% 1px;background-position:100% 100%;transition:background-size .5s var(--vs-ease-out),color .25s var(--vs-ease-out)}
.elementor .vs-link:hover{background-size:0% 1px;background-position:0% 100%;background-color:transparent}
.elementor .vs-nav{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0% 1px;background-position:0% 100%;transition:background-size .45s var(--vs-ease-out),opacity .25s}
.elementor .vs-nav:hover{background-size:100% 1px;background-color:transparent}

/* botones: color suave al pasar, ceden un poco al pulsar */
.elementor .vs-btn,.elementor .vs-btn-light{transition:background-color .25s var(--vs-ease-out),color .25s var(--vs-ease-out),border-color .25s var(--vs-ease-out),transform .16s var(--vs-ease-out)}
.elementor .vs-btn:hover{background-color:transparent;color:#0B0B0B;border-color:#0B0B0B}
.elementor .vs-btn-light:hover{background-color:transparent;color:#EDEDEA}
.elementor .vs-btn:active,.elementor .vs-btn-light:active,.elementor .vs-link:active,.elementor .vs-nav:active{transform:scale(.97)}

/* imágenes: zoom lento y contenido al pasar */
.elementor .vs-frame{overflow:hidden}
.elementor .vs-photo{transition:transform 1.1s var(--vs-ease-out)}
.elementor a.vs-frame:hover .vs-photo{transform:scale(1.025)}

@media (prefers-reduced-motion:no-preference){
  /* un único momento: la entrada del hero */
  .elementor .vs-reveal{animation:vs-in 1s var(--vs-ease-out) both}
  .elementor .vs-reveal-2{animation-delay:.12s}
  .elementor .vs-reveal-3{animation-delay:.24s}
  .elementor .vs-hero-img{animation:vs-settle 2.2s var(--vs-ease-out) both}
  @keyframes vs-in{from{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
  @keyframes vs-settle{from{transform:scale(1.06)}to{transform:none}}
  /* imágenes que se descubren al entrar en pantalla (solo donde el navegador lo soporta) */
  @supports (animation-timeline: view()){
    .elementor .vs-frame{animation:vs-uncover linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    @keyframes vs-uncover{from{clip-path:inset(10% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
  }
}
@media (prefers-reduced-motion:reduce){.elementor *{transition-duration:.01ms!important;scroll-behavior:auto!important}}/* End custom CSS */