.elementor-kit-6{--e-global-color-primary:#727DC9;--e-global-color-secondary:#B9C3E8;--e-global-color-text:#121214;--e-global-color-accent:#ED4656;--e-global-color-1d17ed7:#E0E5FF;--e-global-color-39b5e17:#F3F5FF;--e-global-color-f2f28ba:#5C6DE4;--e-global-color-17affbb:#A71528;--e-global-color-f225704:#9A1731;--e-global-color-980bbfa:#444F9B;--e-global-color-5eeecb5:#FFFFFF;--e-global-color-a510415:#EBDFE5;--e-global-color-1b9be7c:#FEF9FB;--e-global-color-1b8c905:#831D4A;--e-global-color-955d716:#092E79;--e-global-typography-primary-font-family:"dulcian-normal";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"dulcian-normal";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"verveine";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-accent );font-family:"dulcian-normal", Sans-serif;font-size:20px;font-weight:600;color:#FFFFFF;border-radius:60px 60px 60px 60px;padding:16px 24px 16px 24px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#E42B3D;box-shadow:0px 0px 4px 0px rgba(0, 0, 0, 0.2);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-text );}.elementor-kit-6 h1{font-family:"dulcian-normal", Sans-serif;font-size:3.25rem;}.elementor-kit-6 h2{font-family:"dulcian-normal", Sans-serif;font-size:2.75rem;line-height:1.2em;}.elementor-kit-6 h3{font-family:"Poppins", Sans-serif;font-size:1.75rem;font-weight:600;}.elementor-kit-6 h4{font-family:"Poppins", Sans-serif;line-height:1.2em;}.elementor-kit-6 h5{line-height:1.2px;}.elementor-kit-6 h6{line-height:1.2em;}.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{padding-inline-end:0px;padding-inline-start:0px;}@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-kit-6{--e-global-typography-text-font-size:18px;}.elementor-kit-6 h1{font-size:36px;}.elementor-kit-6 h2{font-size:32px;}.elementor-kit-6 h3{font-size:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==== ENGLISH WITH LUCY - TEXT HIGHLIGHT ==== */
.highlight {
  background-color: #FFF25E;       /* exact yellow from testimonial */
  padding: 0 3px 2px 3px;          /* balanced vertical + horizontal spacing */
  border-radius: 2px;              /* subtle rounding */
  display: inline;                 /* keeps it in line with text */
  line-height: 1.4;                /* ensures consistent height across fonts */
}

.highlight {
  background: linear-gradient(transparent 60%, #FFF25E 60%);
  padding: 0;
}


/* === Slide+Fade utilities ============================================ */
:root{
  --fx-ease: cubic-bezier(.22,.61,.36,1);
}

/* Base state (before reveal) */
.fx-reveal{
  opacity: 0;
  transform: translate(var(--fx-x,0), var(--fx-y,24px)); /* default slide 'up' distance 24px */
  will-change: transform, opacity;
}

/* When in view, play animation */
.fx-inview{
  animation: fx-slide var(--fx-dur,.6s) var(--fx-ease) var(--fx-delay,0s) forwards;
}

/* Single keyframe – animates from current transform/opacity to natural */
@keyframes fx-slide{
  to { opacity: 1; transform: translate(0,0); }
}

/* Directions (set starting offset) */
.fx-up   { --fx-x: 0;           --fx-y:  var(--fx-dist, 24px); }           /* rises up */
.fx-down { --fx-x: 0;           --fx-y: calc(var(--fx-dist, 24px) * -1); } /* slides downwards into place */
.fx-left { --fx-x:  var(--fx-dist, 24px); --fx-y: 0; }                     /* comes from left */
.fx-right{ --fx-x: calc(var(--fx-dist, 24px) * -1); --fx-y: 0; }           /* comes from right */

/* Distance helpers (optional) */
.fx-d8  { --fx-dist: 8px; }
.fx-d12 { --fx-dist: 12px; }
.fx-d16 { --fx-dist: 16px; }
.fx-d24 { --fx-dist: 24px; }   /* default */
.fx-d32 { --fx-dist: 32px; }

/* Delay helpers (optional) */
.fx-delay-100{ --fx-delay:.10s } .fx-delay-200{ --fx-delay:.20s }
.fx-delay-300{ --fx-delay:.30s } .fx-delay-400{ --fx-delay:.40s }
.fx-delay-500{ --fx-delay:.50s }

/* Duration helpers (optional) */
.fx-fast { --fx-dur:.45s }
.fx-slow { --fx-dur:.8s }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .fx-reveal{ opacity:1; transform:none !important; animation:none !important; }
}




/* === Minimal Red Dot Tooltip (Fixed + Tiny Version) === */
.idiom-tip {
  position: relative;
  display: inline-block;
}

/* soft underline under the phrase */
.idiom-tip .phrase {
  background: linear-gradient(to bottom, transparent 70%, rgba(224, 0, 51, 0.15) 70%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* small red dot in top-right corner */
.idiom-tip .dot {
  all: unset; /* reset Elementor or theme button defaults */
  position: absolute;
  top: -3px;
  right: -5px;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50%;
  background: #e03;
  display: inline-block;
  box-shadow: 0 0 0 0 rgba(224, 0, 51, 0.3);
  animation: pulseDot 2.4s ease-in-out infinite;
  cursor: help;
  outline: none;
  z-index: 2;
}

@keyframes pulseDot {
  0%   { box-shadow: 0 0 0 0 rgba(224, 0, 51, 0.3); }
  70%  { box-shadow: 0 0 0 2px rgba(224, 0, 51, 0); }
  100% { box-shadow: 0 0 0 0 rgba(224, 0, 51, 0); }
}

/* tooltip bubble */
.idiom-tip .tip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: #fff;
  color: #111;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.4;
  width: min(240px, 80vw);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s;
  z-index: 10;
}

/* arrow under tooltip */
.idiom-tip .tip::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #fff;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06));
}

/* show tooltip on hover/tap */
.idiom-tip:hover .tip,
.idiom-tip:focus-within .tip {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .dot { animation: none; }
}



/*full width buttons*/

@media (max-width: 767px) {
  .ewl-hero .elementor-button,
  .ewl-hero .elementor-button-wrapper {
    width: 100% !important;
    display: block !important;
}/* End custom CSS */