.elementor-kit-5{--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;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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);}@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 { --colour-dark-blue:#091425; --colour-white:#ffffff; --colour-dark:#111111; --color-light-blue:#A4CFFF; --F9F9F9:#F9F9F9; }
/* Start custom CSS *//* ============================================================
   CTA buttons — light default, add `.afan-cta--dark` for inverted
   ============================================================ */
.afan-cta-wrap{ display: inline-flex; }

.afan-cta{
  display: inline-flex; align-items: center; gap: 12px;
  padding: 6px 6px 6px 16px;
  border-radius: 12px;
  border: none; cursor: pointer;
  font-family: 'Geist', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 15px; font-weight: 500; line-height: 170%;
  letter-spacing: -0.3px;
  text-decoration: none;
  transition: transform .25s cubic-bezier(.22,1,.36,1), background .25s ease;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  background: #FFF; color: #091425;
}
.afan-cta:focus-visible{ outline: 2px solid #1E4FFF; outline-offset: 3px; }
.afan-cta:hover{ background: #F4F6FA; }

.afan-cta__text-wrap{
  display: inline-block;
  overflow: hidden;
  height: 1.7em;
  line-height: 1.7em;
}
.afan-cta__text{
  display: block;
  position: relative;
  transition: transform .45s cubic-bezier(.65,.05,.25,1);
}
.afan-cta__text::before{
  content: attr(data-text);
  display: block;
  position: absolute;
  top: 100%; left: 0; right: 0;
  color: inherit;
}
.afan-cta:hover .afan-cta__text{ transform: translateY(-100%); }

.afan-cta__arrow{
  display: flex; width: 36px; height: 36px;
  justify-content: center; align-items: center;
  aspect-ratio: 1/1;
  border-radius: 8px;
  background: #091425; color: #FFF;
  position: relative; overflow: hidden;
  transition: background .25s ease, color .25s ease;
}
.afan-cta__arrow svg{
  width: 14px; height: 10px; flex-shrink: 0; aspect-ratio: 7/5;
  display: block;
  position: absolute; left: 50%; top: 50%;
  transition: transform .45s cubic-bezier(.65,.05,.25,1), opacity .2s ease;
}
.afan-cta__arrow svg.afan-cta__arrow-a{
  transform: translate(-50%, -50%) translateX(0);
  opacity: 1;
}
.afan-cta__arrow svg.afan-cta__arrow-b{
  transform: translate(-50%, -50%) translateX(-260%);
  opacity: 0;
}
.afan-cta:hover .afan-cta__arrow{ background: #1E4FFF; color: #FFF; }
.afan-cta:hover .afan-cta__arrow svg.afan-cta__arrow-a{
  transform: translate(-50%, -50%) translateX(260%);
  opacity: 0;
}
.afan-cta:hover .afan-cta__arrow svg.afan-cta__arrow-b{
  transform: translate(-50%, -50%) translateX(0);
  opacity: 1;
  transition-delay: .08s;
}

/* Dark variant — add `.afan-cta--dark` to the <a> */
.afan-cta.afan-cta--dark{
  background: #091425; color: #FFF;
}
.afan-cta.afan-cta--dark:hover{ background: #0E1A2D; }
.afan-cta.afan-cta--dark .afan-cta__arrow{
  background: #FFF; color: #091425;
}
.afan-cta.afan-cta--dark:hover .afan-cta__arrow{
  background: #1E4FFF; color: #FFF;
}

@media (max-width: 900px){
  .afan-cta{ padding: 4px 4px 4px 12px; font-size: 14px; }
  .afan-cta__arrow{ width: 28px; height: 28px; }
}


/* ============================================================
   Menu item text-roll
   ============================================================ */
.afan-menu{ position: relative; }
.afan-menu .afan-menu__wrap{
  display: inline-block;
  overflow: hidden;
  height: 1.2em;
  line-height: 1.2;
  vertical-align: bottom;
}
.afan-menu .afan-menu__text{
  display: block;
  position: relative;
  color: inherit;
  transition: transform .45s cubic-bezier(.65,.05,.25,1);
  will-change: transform;
}
.afan-menu .afan-menu__text::before{
  content: attr(data-text);
  display: block;
  position: absolute;
  top: 100%; left: 0; right: 0;
  color: inherit;
}
.afan-menu:hover .afan-menu__text,
.afan-menu:focus-visible .afan-menu__text{
  transform: translateY(-100%);
}


/* ============================================================
   Scroll-reveal entrance — Framer-style blur + rise + fade
   ============================================================ */
.animation-reveal{
  opacity: 0;
  transform: translateY(28px) scale(0.985);
  filter: blur(14px);
  transition:
    opacity 1.1s cubic-bezier(.22,1,.36,1),
    transform 1.1s cubic-bezier(.22,1,.36,1),
    filter 1.1s cubic-bezier(.22,1,.36,1);
  will-change: opacity, transform, filter;
}
.animation-reveal.is-revealed{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
@media (prefers-reduced-motion: reduce){
  .animation-reveal,
  .animation-reveal.is-revealed{
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}/* End custom CSS */