/* EdifyKids motion layer (own code): scroll-in reveals with stagger, depth drift on scroll, idle life, playful spring hovers.
   Uses the individual transform properties (translate / scale / rotate) so it never fights the tilt or the old transform animations. */
:root{--ek-spring:cubic-bezier(.34,1.56,.64,1);--ek-glide:cubic-bezier(.22,1,.36,1)}

/* ---------- 1. scroll-in reveal (staggered, from the side / pop) ---------- */
@media (scripting:enabled){
  .ek-reveal:not(.ek-tilt){transform:none}
  .ek-reveal{opacity:0;translate:0 46px;scale:.965;transition:opacity .85s var(--ek-ease),translate 1s var(--ek-glide),scale 1s var(--ek-glide),box-shadow .35s var(--ek-ease);transition-delay:calc(var(--rd,0) * 110ms),calc(var(--rd,0) * 110ms),calc(var(--rd,0) * 110ms),0s}
  .ek-reveal[data-rv="l"]{translate:-64px 0}.ek-reveal[data-rv="r"]{translate:64px 0}.ek-reveal[data-rv="pop"]{translate:0 0;scale:.6}
  .ek-reveal.ek-in{opacity:1;translate:0 0;scale:1}
  .ek-reveal.ek-in[data-rv="pop"]{transition-timing-function:var(--ek-ease),var(--ek-spring),var(--ek-spring),var(--ek-ease)}
}

/* ---------- 2. depth drift while scrolling (--pz is set by ek-motion.js) ---------- */
.ek-legacy__badge div,.ek-fr__copy .ek-blob--c,.ek-cta__card h2,.ek-head h2{translate:0 var(--pz,0px)}
.ek-legacy::before{translate:0 calc(var(--pz,0px) * -1.6)}.ek-legacy::after{translate:0 calc(var(--pz,0px) * 1.4)}
.ek-quote--1{translate:0 var(--pz,0px)}.ek-quote--3{translate:0 calc(var(--pz,0px) * -1)}

/* ---------- 3. idle life ---------- */
.ek-ribbon__icon{display:inline-grid;animation:ek-ico-bob 4.4s ease-in-out infinite}
.ek-legacy__badge div{position:relative}
.ek-legacy__badge div::after{content:"";position:absolute;inset:-26px;border-radius:50%;border:2px dashed rgba(255,255,255,.65);animation:ek-spin 26s linear infinite;pointer-events:none}
.ek-chips li{animation:ek-chip 4.6s ease-in-out infinite}.ek-chips li:nth-child(2){animation-delay:-1.5s}.ek-chips li:nth-child(3){animation-delay:-3s}
@keyframes ek-chip{0%,100%{translate:0 0}50%{translate:0 -6px}}
.ek-fr__copy .ek-blob--c{animation:ek-morph 13s ease-in-out infinite,ek-float-a 7.5s ease-in-out infinite}
.ek-fr__copy .ek-blob--c img{animation:ek-kb 16s ease-in-out infinite alternate}
.ek-quote{animation:ek-card-float 7s ease-in-out infinite}.ek-quote--2{animation-delay:-2.3s}.ek-quote--3{animation-delay:-4.6s}
.ek-quote__mark{display:inline-block;transform-origin:50% 100%;animation:ek-mark 5s ease-in-out infinite}
@keyframes ek-mark{0%,100%{rotate:-5deg}50%{rotate:6deg}}
.ek-cta__card::after{content:"";position:absolute;top:0;left:-60%;width:30%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);animation:ek-card-shine 6.5s ease-in-out infinite;pointer-events:none}
.ek-cta .ek-btn,.ek-fr__band .ek-btn,.ek-legacy .ek-btn{position:relative;overflow:hidden}
.ek-cta .ek-btn::after,.ek-fr__band .ek-btn::after,.ek-legacy .ek-btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:ek-btn-shine 4.8s ease-in-out infinite;pointer-events:none}
.ek-soc a{animation:ek-chip 4s ease-in-out infinite}.ek-soc a:nth-child(2){animation-delay:-1.3s}.ek-soc a:nth-child(3){animation-delay:-2.6s}
/* the key word of every heading shimmers */
.ek-continuum h2 em,.ek-fr h2 em,.ek-voices h2 em{background:linear-gradient(100deg,var(--ek-orange) 0 38%,#FFC15E 50%,var(--ek-orange) 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:ek-shine-text 5.5s linear infinite}
.ek-cta h2 em{background:linear-gradient(100deg,var(--ek-yellow) 0 38%,#FFF6BF 50%,var(--ek-yellow) 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:ek-shine-text 5.5s linear infinite}
.ek-legacy h2 em{background:linear-gradient(100deg,var(--ek-yellow) 0 38%,#fff 50%,var(--ek-yellow) 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:ek-shine-text 5.5s linear infinite}

/* ---------- 4. playful hovers (springy, soft) ---------- */
.ek-count,.ek-quote,.ek-fr__form,.ek-ribbon__card{transition:transform .25s var(--ek-ease),scale .45s var(--ek-spring),box-shadow .35s var(--ek-ease),opacity .85s var(--ek-ease),translate 1s var(--ek-glide)}
.ek-count:hover,.ek-quote:hover,.ek-fr__form:hover,.ek-ribbon__card:hover{scale:1.03;box-shadow:0 30px 60px rgba(31,42,68,.18),inset 0 1px 0 rgba(255,255,255,.95);animation-play-state:paused}
.ek-count:hover .ek-count__ico{animation-play-state:paused;rotate:360deg;transition:rotate .7s var(--ek-spring)}
.ek-count__ico{transition:rotate .7s var(--ek-spring)}
.ek-count:hover .ek-count__num{scale:1.08;transition:scale .4s var(--ek-spring)}.ek-count__num{transition:scale .4s var(--ek-spring);transform-origin:50% 60%}
.ek-quote:hover .ek-quote__mark{animation-play-state:paused;scale:1.4;transition:scale .4s var(--ek-spring)}
.ek-chips li{transition:scale .35s var(--ek-spring),rotate .35s var(--ek-spring),background .25s}
.ek-chips li:hover{scale:1.1;rotate:-2.5deg;animation-play-state:paused}
.ek-btn{transition:transform .2s var(--ek-ease),box-shadow .2s var(--ek-ease),background-color .2s,color .2s,scale .35s var(--ek-spring)}
.ek-btn:hover{scale:1.06}.ek-btn:active{scale:.95}
.ek-blob{transition:scale .5s var(--ek-spring),rotate .5s var(--ek-spring)}.ek-blob img{transition:filter .4s}
.ek-blob:hover{scale:1.05;rotate:-1.5deg;animation-play-state:paused}.ek-blob:hover img{filter:saturate(1.15) brightness(1.04)}
.ek-legacy__badge div{transition:scale .5s var(--ek-spring),rotate .5s var(--ek-spring)}.ek-legacy__badge:hover div{scale:1.07;rotate:-5deg}
.ek-soc a{transition:scale .35s var(--ek-spring),rotate .35s var(--ek-spring),background .25s}.ek-soc a:hover{scale:1.22;rotate:-8deg;animation-play-state:paused}
.ek-ftr__col li a{display:inline-block;transition:translate .3s var(--ek-spring),color .2s}.ek-ftr__col li a:hover{translate:6px 0}
.ek-jtxt .ek-btn{transition:scale .35s var(--ek-spring),box-shadow .2s}

@media(prefers-reduced-motion:reduce){
  .ek-reveal,.ek-reveal.ek-in{opacity:1!important;translate:none!important;scale:none!important;transition:none!important}
  .ek-ribbon__icon,.ek-legacy__badge div::after,.ek-chips li,.ek-fr__copy .ek-blob--c,.ek-fr__copy .ek-blob--c img,.ek-quote,.ek-quote__mark,.ek-cta__card::after,.ek-cta .ek-btn::after,.ek-fr__band .ek-btn::after,.ek-legacy .ek-btn::after,.ek-soc a,.ek-continuum h2 em,.ek-fr h2 em,.ek-voices h2 em,.ek-legacy h2 em,.ek-cta h2 em{animation:none!important}
  .ek-legacy__badge div,.ek-fr__copy .ek-blob--c,.ek-cta__card h2,.ek-head h2,.ek-quote--1,.ek-quote--3,.ek-legacy::before,.ek-legacy::after{translate:none!important}
}

/* ---------- Legacy section refresh: floating rounded panel, soft moving light, dot texture, aligned chips, richer badge ---------- */
.ek-legacy{margin:28px clamp(12px,3vw,44px);padding:100px 0;border-radius:48px;
  background:radial-gradient(900px 420px at 10% 0%,rgba(255,255,255,.30),transparent 62%),radial-gradient(700px 400px at 94% 100%,rgba(255,214,102,.32),transparent 64%),radial-gradient(rgba(255,255,255,.17) 1.6px,transparent 1.9px) 0 0/28px 28px,linear-gradient(135deg,#1D74A4 0%,#2C9DD3 52%,#5AC4EC 100%);
  box-shadow:0 34px 80px rgba(36,135,179,.30),inset 0 1px 0 rgba(255,255,255,.35);animation:ek-aurora 18s ease-in-out infinite alternate}
@keyframes ek-aurora{from{background-position:0 0,0 0,0 0,0 0}to{background-position:70px 40px,-80px -30px,28px 28px,0 0}}
.ek-legacy::before,.ek-legacy::after{background:rgba(255,255,255,.12)}
.ek-legacy .ek-wrap{position:relative;z-index:2}
.ek-legacy__copy p{color:rgba(255,255,255,.94)}
.ek-chips{gap:12px}
.ek-chips li{display:inline-flex;align-items:center;gap:9px;padding:11px 20px 11px 16px;line-height:1;font:600 16px/1 var(--ek-font-head);background:#fff;color:var(--ek-ink);border-radius:999px;box-shadow:0 10px 22px rgba(15,60,90,.18),inset 0 -3px 0 rgba(31,42,68,.06)}
.ek-chips li svg{flex:none;width:20px;height:20px;color:var(--ek-orange);display:block}
.ek-chips li:nth-child(2) svg{color:#4CAF50}.ek-chips li:nth-child(3) svg{color:#3AA7D8}
.ek-legacy__badge{position:relative}
.ek-legacy__badge div{background:radial-gradient(circle at 30% 24%,#FFE483 0%,#FBC531 58%,#F2A91E 100%);box-shadow:0 0 0 14px rgba(255,255,255,.26),0 0 0 30px rgba(255,255,255,.10),0 28px 60px rgba(8,48,76,.32)}
.ek-legacy__badge::before,.ek-legacy__badge::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.ek-legacy__badge::before{width:26px;height:26px;right:8%;top:6%;background:#fff;opacity:.85;animation:ek-bob 5s ease-in-out infinite}
.ek-legacy__badge::after{width:18px;height:18px;left:10%;bottom:8%;background:#FFD66B;animation:ek-bob 6s ease-in-out infinite reverse}
@media(max-width:700px){.ek-legacy{border-radius:32px;padding:70px 0}}
@media(prefers-reduced-motion:reduce){.ek-legacy,.ek-legacy__badge::before,.ek-legacy__badge::after{animation:none!important}}

/* Legacy section, website palette: frosted glass panel with warm sun / sky tints (no blue block); dark text, orange accents */
.ek-legacy{color:var(--ek-ink);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
  background:radial-gradient(760px 380px at 6% 0%,rgba(251,197,49,.26),transparent 62%),radial-gradient(760px 420px at 96% 100%,rgba(58,167,216,.20),transparent 64%),radial-gradient(rgba(242,140,40,.13) 1.5px,transparent 1.8px) 0 0/30px 30px,linear-gradient(135deg,rgba(255,255,255,.80),rgba(255,243,228,.68));
  box-shadow:0 30px 70px rgba(31,42,68,.12),inset 0 1px 0 rgba(255,255,255,.95)}
.ek-legacy::before{background:rgba(242,140,40,.10)}.ek-legacy::after{background:rgba(58,167,216,.12)}
.ek-legacy h2{color:var(--ek-ink)}
.ek-legacy h2 em{background:linear-gradient(100deg,var(--ek-orange) 0 38%,#FFC15E 50%,var(--ek-orange) 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:ek-shine-text 5.5s linear infinite}
.ek-legacy__copy p{color:var(--ek-ink-soft)}
.ek-legacy .ek-tag--dark{background:#FFF1E0;color:var(--ek-orange);box-shadow:inset 0 0 0 1px rgba(242,140,40,.25)}
.ek-chips li{box-shadow:0 10px 22px rgba(31,42,68,.10),inset 0 0 0 1px rgba(31,42,68,.06)}
.ek-legacy .ek-btn--white{background:var(--ek-orange);color:#fff!important;box-shadow:0 7px 0 #c96f12,0 16px 24px rgba(242,140,40,.28)}
.ek-legacy .ek-btn--white:hover{box-shadow:0 10px 0 #c96f12,0 20px 30px rgba(242,140,40,.32)}
.ek-legacy__badge div{box-shadow:0 0 0 14px rgba(251,197,49,.28),0 0 0 30px rgba(251,197,49,.12),0 26px 56px rgba(201,111,18,.26)}
.ek-legacy__badge div::after{border-color:rgba(242,140,40,.65)}
.ek-legacy__badge::before{background:#3AA7D8;opacity:.9}.ek-legacy__badge::after{background:#F28C28}
/* the drifting light layers must not tile (that showed a hard-edged patch) */
.ek-legacy{background-repeat:no-repeat,no-repeat,repeat,no-repeat}
@keyframes ek-aurora{from{background-position:0 0,0 0,0 0,0 0}to{background-position:46px 26px,-50px -20px,30px 30px,0 0}}
.ek-legacy{animation:none}   /* a shifting gradient layer left a hard edge; the soft circles drift instead */
.ek-legacy::before{animation:ek-bob 9s ease-in-out infinite}.ek-legacy::after{animation:ek-bob 11s ease-in-out infinite reverse}

/* ---------- Book-your-seat banner: readable heading, richer warm card, playful shapes ---------- */
.ek-cta__card{overflow:hidden;padding:76px 30px 72px;
  background:radial-gradient(560px 280px at 10% 0%,rgba(255,255,255,.34),transparent 62%),radial-gradient(520px 300px at 96% 100%,rgba(255,236,160,.45),transparent 64%),radial-gradient(rgba(255,255,255,.2) 1.6px,transparent 1.9px) 0 0/30px 30px,linear-gradient(135deg,#EF7F1E 0%,#F6A24A 55%,#FBC531 100%);
  background-repeat:no-repeat,no-repeat,repeat,no-repeat;box-shadow:0 30px 70px rgba(242,140,40,.38),inset 0 2px 0 rgba(255,255,255,.45)}
.ek-cta h2{color:#fff;text-shadow:0 4px 0 rgba(178,86,8,.28),0 14px 28px rgba(150,70,0,.22)}
.ek-cta h2 em{background:none;-webkit-text-fill-color:var(--ek-ink);color:var(--ek-ink);animation:none;text-shadow:0 3px 0 rgba(255,255,255,.35);text-decoration:underline wavy rgba(255,255,255,.9) 3px;text-underline-offset:10px;text-decoration-skip-ink:none}
body .ek-cta .ek-deco{display:block!important}
.ek-cta .ek-deco--star2{left:6%;top:16%;background:rgba(255,255,255,.34)}
.ek-cta .ek-deco--dot2{right:7%;bottom:-34px;background:rgba(255,255,255,.26)}
.ek-cta__card::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;left:-70px;bottom:-110px;background:rgba(255,255,255,.16);animation:ek-bob 9s ease-in-out infinite;pointer-events:none}
.ek-cta .ek-btn--white{padding:16px 36px;font-size:19px;box-shadow:0 8px 0 rgba(150,70,0,.28),0 20px 30px rgba(150,70,0,.22)}
.ek-cta .ek-btn--white:hover{box-shadow:0 12px 0 rgba(150,70,0,.28),0 26px 36px rgba(150,70,0,.26)}
@media(prefers-reduced-motion:reduce){.ek-cta__card::before{animation:none!important}}

/* ---------- Book-your-seat banner, premium: deep navy glass, warm gold glow, gold key word and button ---------- */
.ek-cta__card{padding:84px 30px 80px;border-radius:44px;
  background:radial-gradient(560px 280px at 10% 0%,rgba(242,140,40,.42),transparent 62%),radial-gradient(600px 320px at 94% 100%,rgba(58,167,216,.34),transparent 64%),radial-gradient(rgba(255,255,255,.075) 1.4px,transparent 1.7px) 0 0/26px 26px,linear-gradient(145deg,#26356A 0%,#1B2548 55%,#161E3C 100%);
  background-repeat:no-repeat,no-repeat,repeat,no-repeat;
  box-shadow:0 44px 90px rgba(22,30,60,.38),0 0 0 1px rgba(251,197,49,.22),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -40px 80px rgba(0,0,0,.18)}
.ek-cta .ek-tag{background:rgba(255,255,255,.08);color:#FFD27A;border:1px solid rgba(255,210,122,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.14em;text-transform:uppercase;font-size:13px;padding:9px 20px}
.ek-cta h2{color:#fff;text-shadow:none;font-size:clamp(34px,4.4vw,58px);letter-spacing:-.4px}
.ek-cta h2 em{background:linear-gradient(100deg,#FFA83C 0 36%,#FFE59A 50%,#FFA83C 64% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-shadow:none;text-decoration:none;animation:ek-shine-text 5.5s linear infinite}
body .ek-cta .ek-deco{display:none!important}
.ek-cta__card::before{width:340px;height:340px;left:-100px;bottom:-170px;background:radial-gradient(circle,rgba(251,197,49,.34),transparent 68%);animation:ek-bob 10s ease-in-out infinite}
.ek-cta__card::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.10),transparent)}
.ek-cta .ek-btn--white{background:linear-gradient(180deg,#FFD36B 0%,#F7A93B 100%);color:var(--ek-ink)!important;padding:17px 40px;font-size:19px;border:0;box-shadow:0 16px 34px rgba(242,140,40,.42),inset 0 1px 0 rgba(255,255,255,.75),inset 0 -3px 0 rgba(176,98,10,.25)}
.ek-cta .ek-btn--white:hover{box-shadow:0 22px 44px rgba(242,140,40,.52),inset 0 1px 0 rgba(255,255,255,.8),inset 0 -3px 0 rgba(176,98,10,.25)}

/* ---------- Book-your-seat banner, website palette: frosted cream glass, warm orange and sky glow, navy heading, orange key word and button ---------- */
.ek-cta__card{
  background:radial-gradient(560px 280px at 8% 0%,rgba(251,197,49,.34),transparent 62%),radial-gradient(600px 320px at 96% 100%,rgba(58,167,216,.22),transparent 64%),radial-gradient(rgba(242,140,40,.14) 1.5px,transparent 1.8px) 0 0/30px 30px,linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,241,225,.74));
  background-repeat:no-repeat,no-repeat,repeat,no-repeat;
  -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:0 30px 70px rgba(31,42,68,.12),0 0 0 1px rgba(255,255,255,.9),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -30px 60px rgba(242,140,40,.06)}
.ek-cta .ek-tag{background:#FFF1E0;color:var(--ek-orange);border:1px solid rgba(242,140,40,.28);-webkit-backdrop-filter:none;backdrop-filter:none}
.ek-cta h2{color:var(--ek-ink)}
.ek-cta h2 em{background:linear-gradient(100deg,var(--ek-orange) 0 38%,#FFC15E 50%,var(--ek-orange) 62% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ek-cta__card::before{background:radial-gradient(circle,rgba(242,140,40,.22),transparent 68%)}
.ek-cta__card::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent)}
.ek-cta .ek-btn--white{background:linear-gradient(180deg,#F8A23F 0%,#EF7F1E 100%);color:#fff!important;box-shadow:0 8px 0 #c96f12,0 20px 32px rgba(242,140,40,.34),inset 0 1px 0 rgba(255,255,255,.45)}
.ek-cta .ek-btn--white:hover{box-shadow:0 12px 0 #c96f12,0 26px 40px rgba(242,140,40,.4),inset 0 1px 0 rgba(255,255,255,.5)}

/* "EdifyKids" in the banner: solid, readable orange on a hand-drawn yellow marker band that draws itself in */
.ek-cta h2 em{display:inline-block;padding:0 12px;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#E5650A;color:#E5650A;animation:none;text-shadow:none;
  background:linear-gradient(transparent 60%,rgba(251,197,49,.62) 60% 90%,transparent 90%) no-repeat 0 0/0% 100%;transition:background-size .9s var(--ek-glide) .45s}
.ek-cta__card.ek-in h2 em,.ek-cta .ek-in h2 em{background-size:100% 100%}
@media(prefers-reduced-motion:reduce){.ek-cta h2 em{background-size:100% 100%!important;transition:none}}

/* "EdifyKids" written like the logo: heavy dark "Edify" + KIDS as little toy-block tiles (red, yellow, blue, green) */
.ek-cta h2 em.ek-logoword{display:inline-flex;align-items:center;gap:.22em;padding:0;margin-top:.12em;background:none!important;background-image:none!important;-webkit-text-fill-color:var(--ek-ink);color:var(--ek-ink);text-shadow:none;animation:none;transition:none}
.ek-lw__e{font-weight:700;letter-spacing:-.5px;color:#14151C;-webkit-text-fill-color:#14151C;text-shadow:0 3px 0 #fff,0 10px 18px rgba(31,42,68,.16)}
.ek-lw__k{display:inline-flex;gap:.1em;align-items:center}
.ek-lw__k i{font-style:normal;display:grid;place-items:center;width:.92em;height:.92em;border-radius:.22em;color:#fff;-webkit-text-fill-color:#fff;font-size:.82em;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.22);box-shadow:0 .07em 0 rgba(0,0,0,.2),0 .2em .3em rgba(31,42,68,.2),inset 0 .05em 0 rgba(255,255,255,.4);animation:ek-chip 4.2s ease-in-out infinite;transition:scale .35s var(--ek-spring),rotate .35s var(--ek-spring)}
.ek-lw__k .r{background:#E5432F;rotate:-9deg}.ek-lw__k .y{background:#FBC531;rotate:6deg;animation-delay:-1s}.ek-lw__k .b{background:#3AA7D8;rotate:-5deg;animation-delay:-2s}.ek-lw__k .g{background:#6DBE4B;rotate:8deg;animation-delay:-3s}
.ek-lw__k i:hover{scale:1.18;rotate:0deg}
@media(prefers-reduced-motion:reduce){.ek-lw__k i{animation:none!important}}

/* ---------- hero headline mouse-over: same as Medchal (letters lean away from the pointer, see ek-motion.js) ---------- */
.ek-ch:hover{transform:none}.ek-w2 .ek-ch:hover{transform:rotate(var(--r,0deg))}
.ek-h3d .ek-h3d__tagline{position:relative;display:inline-block}
.ek-h3d .ek-h3d__tagline::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:5px;border-radius:5px;background:linear-gradient(90deg,#FFD04D,#FF8A4C);transform:scaleX(0);transform-origin:100% 50%;transition:transform .55s var(--ek-glide);pointer-events:none}
.ek-h3d .ek-h3d__tagline:hover::after{transform:scaleX(1);transform-origin:0 50%}
.ek-h3d__badge,.ek-h3d__ghost{transition:scale .4s var(--ek-spring),translate .4s var(--ek-spring),box-shadow .3s var(--ek-ease),background .25s,color .25s,border-color .25s,transform .25s var(--ek-ease)}
.ek-h3d__badge:hover,.ek-h3d__ghost:hover{scale:1.06;translate:0 -3px;box-shadow:0 16px 34px rgba(0,0,0,.28)}
.ek-h3d__badge:active,.ek-h3d__ghost:active{scale:.96}

/* ---------- inner pages / posts: title band, glass content card, same reveal + hover motion ---------- */
.ek-ihero,.ek-ibody{position:relative;z-index:3}
.ek-ihero{padding:150px 0 50px;text-align:center}
.ek-ihero .ek-eyebrow{animation:ek-rise .8s var(--ek-glide) both}
.ek-ihero h1{max-width:920px;margin:0 auto 6px;font:var(--ek-w-display,500) clamp(36px,5vw,66px)/1.08 var(--ek-font-head);letter-spacing:-.012em;color:var(--ek-ink);text-shadow:0 3px 0 rgba(255,255,255,.9);animation:ek-rise .9s var(--ek-glide) .1s both}
.ek-ihero__sub{display:inline-block;position:relative;margin:4px 0 0;font:700 clamp(26px,3vw,38px)/1.1 Caveat,"Fredoka",cursive;color:var(--ek-orange);animation:ek-rise .9s var(--ek-glide) .25s both}
.ek-ihero__sub::after{content:"";position:absolute;left:4%;right:4%;bottom:-6px;height:5px;border-radius:5px;background:linear-gradient(90deg,#FFD04D,#FF8A4C);transform-origin:0 50%;animation:ek-draw 1s var(--ek-glide) .7s both}
@keyframes ek-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ek-ihero::before,.ek-ihero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.ek-ihero::before{width:26px;height:26px;left:12%;top:46%;background:#FBC531;box-shadow:0 8px 16px rgba(251,197,49,.45);animation:ek-bob 5s ease-in-out infinite}
.ek-ihero::after{width:34px;height:34px;right:13%;top:36%;background:#3AA7D8;box-shadow:0 8px 16px rgba(58,167,216,.4);animation:ek-bob 6.5s ease-in-out infinite reverse}
.ek-ibody{padding:0 0 100px}
.ek-ibody__in{background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.9);border-radius:36px;padding:clamp(24px,4vw,58px);box-shadow:0 26px 60px rgba(31,42,68,.10),inset 0 1px 0 rgba(255,255,255,.95);color:var(--ek-ink)}
.ek-ibody__in h2,.ek-ibody__in h3,.ek-ibody__in h4{font-family:var(--ek-font-head);font-weight:var(--ek-w-title,500);color:var(--ek-ink)}
.ek-ibody__in p,.ek-ibody__in li{font:var(--ek-w-body,400) 18px/1.8 var(--ek-font-body);color:var(--ek-ink-soft)}
.ek-ibody__in a{color:var(--ek-orange)}
.ek-ibody__in img{max-width:100%;height:auto;border-radius:22px;transition:scale .5s var(--ek-spring),box-shadow .35s var(--ek-ease)}
.ek-ibody__in img:hover{scale:1.03;box-shadow:0 22px 44px rgba(31,42,68,.18)}
.ek-ibody .elementor-button,.ek-ibody .wp-element-button,.ek-ibody button[type=submit]{transition:scale .35s var(--ek-spring),box-shadow .25s var(--ek-ease)}
.ek-ibody .elementor-button:hover,.ek-ibody .wp-element-button:hover,.ek-ibody button[type=submit]:hover{scale:1.05}
.ek-ibody .elementor-button:active,.ek-ibody .wp-element-button:active,.ek-ibody button[type=submit]:active{scale:.96}
@media(max-width:700px){.ek-ihero{padding:120px 0 30px}.ek-ibody__in{border-radius:26px}}
@media(prefers-reduced-motion:reduce){.ek-ihero *,.ek-ihero::before,.ek-ihero::after,.ek-ihero__sub::after{animation:none!important}}
