
.lkc-train{
  --lkc-navy:#2F3A73;
  --lkc-text:#5B6385;
  --lkc-pink:#F0457A;
  --lkc-yellow:#F9B81B;
  --cw:clamp(236px,24vw,262px);   /* coach width */
  --gap:clamp(20px,2.2vw,28px);   /* space between coaches */
  --ew:clamp(170px,20vw,240px);   /* engine width */
  position:relative;overflow:hidden;
  padding:clamp(56px,8vw,96px) 0 clamp(48px,7vw,84px);
  background:
    radial-gradient(ellipse at 50% 100%,#FFE9D6 0%,transparent 55%),
    linear-gradient(#DDEFFF 0%,#F4F9FF 45%,#FFFBF6 80%);
  /*font-family:'Nunito',system-ui,sans-serif;*/
}
.lkc-train *{box-sizing:border-box}
 
/* ---------- clouds ---------- */
.lkc-train__cloud{
  position:absolute;border-radius:50px;pointer-events:none;z-index:0;
  background:linear-gradient(#fff 40%,#E3EEFB);
  box-shadow:0 10px 18px rgba(61,139,234,.15),inset 0 -6px 0 rgba(61,139,234,.12);
}
.lkc-train__cloud::before,.lkc-train__cloud::after{
  content:"";position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff 55%,#EAF2FC);
}
.lkc-train__cloud--1{width:120px;height:36px;top:60px;left:5%}
.lkc-train__cloud--1::before{width:54px;height:54px;top:-26px;left:18px}
.lkc-train__cloud--1::after{width:40px;height:40px;top:-18px;left:62px}
.lkc-train__cloud--2{width:150px;height:40px;top:130px;right:5%}
.lkc-train__cloud--2::before{width:64px;height:64px;top:-32px;left:26px}
.lkc-train__cloud--2::after{width:46px;height:46px;top:-20px;left:80px}
 
/* ---------- heading ---------- */
.lkc-train__head{position:relative;z-index:1;text-align:center;max-width:760px;margin:0 auto clamp(20px,3vw,34px);padding:0 20px}
.lkc-train__tag{display:block;color:var(--lkc-pink);font-size:clamp(14px,1.4vw,16px);font-weight:600;margin-bottom:8px}
.lkc-train__title{font-weight:700;color:var(--lkc-navy);
  font-size:clamp(26px,4vw,44px);line-height:1.2;margin:0 0 14px;
  text-shadow:0 1px 0 #fff,0 3px 0 #D6DDF2,0 5px 0 #C3CCEA,0 8px 12px rgba(47,58,115,.18);
}
.lkc-train__sub{max-width:560px;margin:0 auto;color:var(--lkc-text);font-size:clamp(14.5px,1.5vw,16px);line-height:1.7}
 
/* ---------- arrows ---------- */
.lkc-train__nav{display:flex;justify-content:center;gap:14px;margin-top:22px}
.lkc-train__arrow{
  width:48px;height:48px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;padding:0;
  color:#fff;background:radial-gradient(circle at 35% 30%,#5A68A8,var(--lkc-navy) 70%);
  box-shadow:0 6px 0 #1E2654,0 10px 16px rgba(30,38,84,.3),inset 0 3px 4px rgba(255,255,255,.35);
  transition:transform .15s,box-shadow .15s;
}
.lkc-train__arrow:hover{transform:translateY(3px);box-shadow:0 3px 0 #1E2654,0 6px 10px rgba(30,38,84,.3),inset 0 3px 4px rgba(255,255,255,.35)}
.lkc-train__arrow:active{transform:translateY(6px);box-shadow:0 0 0 #1E2654,0 3px 6px rgba(30,38,84,.3)}
.lkc-train__arrow:focus-visible{outline:3px solid var(--lkc-pink);outline-offset:4px}
.lkc-train__arrow svg{width:18px;height:18px}
 
/* ---------- track ---------- */
.lkc-train__rail{position:relative;z-index:1}
.lkc-train__track{
  display:flex;align-items:stretch;list-style:none;margin:0;
  padding:44px clamp(16px,4vw,48px) 31px;       /* 31px bottom = wheels sit exactly on rail */
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent 100%);
}
.lkc-train__track::-webkit-scrollbar{display:none}
 
/* ground + sleepers */
.lkc-train__rail::before{
  content:"";position:absolute;left:0;right:0;bottom:4px;height:30px;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,#B98C60 0 14px,#9C7248 14px 16px,transparent 16px 40px) 0 8px/100% 14px no-repeat,
    linear-gradient(#EFD9BF,#E2C6A3);
  transform:perspective(300px) rotateX(38deg);transform-origin:bottom;
}
/* steel rail (top edge at 33px from bottom) */
.lkc-train__rail::after{
  content:"";position:absolute;left:0;right:0;bottom:26px;height:7px;pointer-events:none;border-radius:4px;
  background:linear-gradient(#E8ECF7 0%,#9AA5C9 45%,#5B668F 100%);
  box-shadow:0 3px 3px rgba(47,58,115,.3);
}
 
/* ---------- engine ---------- */
.lkc-engine{flex:0 0 var(--ew);width:var(--ew);align-self:flex-end;position:relative;z-index:2;scroll-snap-align:start}
.lkc-engine svg{
  display:block;width:100%;height:auto;overflow:visible;transform:scaleX(-1);
  margin-bottom:calc(var(--ew) * -0.07);          /* engine wheels sit on rail */
  filter:drop-shadow(0 14px 10px rgba(47,58,115,.25));
}
.lkc-puff{animation:lkcPuff 3s ease-out infinite;transform-box:fill-box;transform-origin:center;opacity:0}
.lkc-puff:nth-of-type(2){animation-delay:1s}
.lkc-puff:nth-of-type(3){animation-delay:2s}
@keyframes lkcPuff{
  0%{opacity:0;transform:translate(0,0) scale(.4)}
  20%{opacity:1}
  100%{opacity:0;transform:translate(-30px,-55px) scale(1.5)}
}
 
/* ---------- coach ---------- */
.lkc-coach{
  --roof:#F0457A;--deep:#C22E5E;--body:#FFE3EC;--bodyDark:#F9C4D5;
  flex:0 0 var(--cw);width:var(--cw);margin-left:var(--gap);
  position:relative;display:flex;flex-direction:column;
  padding-bottom:30px;scroll-snap-align:start;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1);
}
.lkc-coach::before{ /* coupling */
  content:"";position:absolute;left:calc(var(--gap) * -1 - 4px);bottom:50px;width:calc(var(--gap) + 8px);height:9px;border-radius:5px;
  background:linear-gradient(#7A86B8,var(--lkc-navy) 60%,#1E2654);
  box-shadow:0 2px 3px rgba(0,0,0,.2);
}
.lkc-coach--pink {--roof:#F0457A;--deep:#C22E5E;--body:#FFE3EC;--bodyDark:#F9C4D5}
.lkc-coach--sun  {--roof:#F9B81B;--deep:#C98E00;--body:#FFF1C9;--bodyDark:#F8DF9C}
.lkc-coach--mint {--roof:#2FB37E;--deep:#1E8A5E;--body:#DDF5EA;--bodyDark:#B7E7D1}
.lkc-coach--sky  {--roof:#3D8BEA;--deep:#2766B8;--body:#DDEEFF;--bodyDark:#B8D8FA}
.lkc-coach--lilac{--roof:#8A63E8;--deep:#6541BD;--body:#ECE3FF;--bodyDark:#D4C4FA}
.lkc-coach--peach{--roof:#F07A3C;--deep:#C25A22;--body:#FFE6D6;--bodyDark:#F9C9AB}
.lkc-coach--red  {--roof:#E53935;--deep:#B3261E;--body:#FFE1DF;--bodyDark:#F8BCB7}
 
.lkc-coach__roof{
  position:relative;flex:0 0 26px;height:26px;margin:0 8px -4px;border-radius:18px 18px 6px 6px;z-index:1;
  background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,transparent 45%),var(--roof);
  box-shadow:0 6px 0 var(--deep),inset 0 -4px 0 rgba(0,0,0,.08);
}
.lkc-coach__roof::after{content:"";position:absolute;top:5px;left:18px;width:40%;height:5px;border-radius:5px;background:rgba(255,255,255,.6)}
 
.lkc-coach__box{
  position:relative;flex:1 1 auto;               /* all coaches equal height */
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border-radius:22px;padding:22px 18px 24px;
  background:linear-gradient(160deg,#fff 0%,var(--body) 35%,var(--bodyDark) 100%);
  box-shadow:
    0 8px 0 var(--bodyDark),0 10px 0 var(--deep),0 22px 26px rgba(47,58,115,.22),
    inset 0 4px 6px rgba(255,255,255,.9),inset 0 -8px 14px rgba(0,0,0,.06);
}
 
.lkc-coach__window{
  position:relative;flex:0 0 auto;width:100px;height:84px;border-radius:42px 42px 16px 16px;
  display:grid;place-items:center;margin:6px 0 18px;overflow:hidden;
  background:linear-gradient(160deg,#FFFFFF 0%,#EAF3FF 100%);
  box-shadow:0 0 0 5px #fff,0 0 0 8px var(--roof),0 6px 0 5px var(--deep),inset 0 6px 10px rgba(47,58,115,.2);
}
.lkc-coach__window::after{
  content:"";position:absolute;top:-10px;left:14px;width:18px;height:120%;transform:rotate(25deg);
  background:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,0));pointer-events:none;
}
.lkc-coach__window svg{width:56px;height:56px;filter:drop-shadow(0 4px 3px rgba(47,58,115,.3))}
 
.lkc-coach__name{font-weight:600;color:var(--lkc-navy);
  font-size:clamp(17px,1.5vw,19px);line-height:1.25;margin:0 0 8px;text-shadow:0 1px 0 #fff;
  min-height:2.5em;display:flex;align-items:center;justify-content:center;   /* 1 or 2 line titles align */
}
.lkc-coach__text{color:var(--lkc-text);font-size:14.5px;line-height:1.6;margin:0 0 18px;flex-grow:1}
 
.lkc-coach__link{
  display:inline-block;padding:9px 22px;border-radius:30px;color:#fff;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;
  background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 55%),var(--roof);
  box-shadow:0 5px 0 var(--deep),0 8px 12px rgba(0,0,0,.15),inset 0 2px 2px rgba(255,255,255,.5);
  text-shadow:0 1px 1px rgba(0,0,0,.2);transition:transform .15s,box-shadow .15s;
}
.lkc-coach__link:hover{color:#fff;transform:translateY(3px);box-shadow:0 2px 0 var(--deep),0 4px 8px rgba(0,0,0,.15),inset 0 2px 2px rgba(255,255,255,.5)}
.lkc-coach__link:focus-visible{outline:3px solid var(--lkc-navy);outline-offset:4px}
.lkc-coach__link::after{content:"";position:absolute;inset:0}
 
.lkc-coach__wheels{position:absolute;left:0;right:0;bottom:2px;display:flex;justify-content:space-between;padding:0 28px;z-index:2;pointer-events:none}
.lkc-coach__wheels span{
  position:relative;width:40px;height:40px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#6A77B3 0%,var(--lkc-navy) 55%,#1A2150 100%);
  box-shadow:0 5px 6px rgba(0,0,0,.3),inset 0 -3px 4px rgba(0,0,0,.35);
}
.lkc-coach__wheels span::after{
  content:"";position:absolute;inset:12px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0%,#E8ECF7 40%,#A4AED0 100%);
}
 
/* 3D tilt only on devices with a real mouse (no sticky hover on phones) */
@media (hover:hover) and (pointer:fine){
  .lkc-coach:hover{transform:perspective(900px) translateY(-10px) rotateX(6deg) rotateY(-10deg)}
  .lkc-coach:hover .lkc-coach__wheels span{animation:lkcSpin .8s linear}
}
.lkc-coach:focus-within{transform:translateY(-8px)}
@keyframes lkcSpin{to{transform:rotate(360deg)}}
 
/* ---------- button area ---------- */
.lkc-train .btn-box{position:relative;z-index:1;padding:0 20px}
 
/* ---------- tablet ---------- */
@media (max-width:991px){
  .lkc-train__cloud--1{top:34px;left:3%;transform:scale(.8)}
  .lkc-train__cloud--2{top:auto;bottom:40px;right:3%;transform:scale(.8)}
}
 
/* ---------- mobile ---------- */
@media (max-width:575px){
  .lkc-train{--cw:min(76vw,258px);--gap:18px;--ew:150px}
  .lkc-train__cloud{display:none}
  .lkc-train__track{padding-top:36px}
  .lkc-train__arrow{width:42px;height:42px}
  .lkc-coach__box{padding:20px 16px 22px}
  .lkc-coach__window{width:90px;height:76px}
  .lkc-coach__window svg{width:50px;height:50px}
  .lkc-coach__wheels{padding:0 24px}
  .lkc-coach__wheels span{width:36px;height:36px}
  .lkc-coach__wheels span::after{inset:11px}
  .lkc-train__track{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);
  }
}
/* very small phones (320px) */
@media (max-width:360px){
  .lkc-train{--cw:82vw;--ew:130px}
  .lkc-coach__text{font-size:14px}
}
 
@media (prefers-reduced-motion:reduce){
  .lkc-puff{animation:none;opacity:.8}
  .lkc-coach{transition:none}
  .lkc-coach:hover .lkc-coach__wheels span{animation:none}
}


/*below-banner-section-css*/

.lkc-kr3-section{
  --lkc-kr3-navy:#2E3268;
  --lkc-kr3-pink:#EE4F8B;
  --lkc-kr3-text:#5A5F7A;
  position:relative;
  padding:70px 20px 100px;
  overflow:hidden;
  text-align:center;
}
.lkc-kr3-wrap{
  max-width:860px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
 
/* ---- 3D rainbow ---- */
.lkc-kr3-rainbow{
  display:block;
  width:240px;
  height:auto;
  margin:0 auto 16px;
  overflow:visible;
  filter:drop-shadow(0 4px 4px rgba(46,50,104,.1));
}
 
/* ---- heading ---- */
.lkc-kr3-title {
    font-size: 45px;
    line-height: 1.2em;
    color: #393d72;
    /* font-weight: 400; */
    padding-bottom: 25px;
}
 
/* ---- 3D speech bubble ---- */
.lkc-kr3-stage{
  perspective:1200px;
  max-width:720px;
  margin:0 auto;
}
.lkc-kr3-bubble{
  position:relative;
  background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF6 100%);
  border-radius:40px;
  padding:36px 40px;
  border:4px solid #FFE08A;
  transform-style:preserve-3d;
  transition:transform .25s ease-out;
  box-shadow:
    0 5px 0 #FFD36A,
    0 14px 20px -12px rgba(46,50,104,.16);
}
.lkc-kr3-bubble::before{
  content:"";
  position:absolute;
  top:-18px;
  left:50%;
  width:30px;
  height:30px;
  background:#fff;
  border-left:4px solid #FFE08A;
  border-top:4px solid #FFE08A;
  transform:translateX(-50%) rotate(45deg);
  border-radius:6px 0 0 0;
}
.lkc-kr3-bubble > p{
  transform:translateZ(36px);
}
.lkc-kr3-lead{
  color:var(--lkc-kr3-pink);
  font-weight:600;
  font-size:clamp(17px,1.7vw,20px);
  line-height:1.5;
  margin:0 0 14px;
}
.lkc-kr3-text{
  color:var(--lkc-kr3-text);
  font-size:16px;
  line-height:1.75;
  margin:0;
}
 
/* ---- 3D grass ---- */
.lkc-kr3-grass{
  position:absolute;
  left:0;right:0;bottom:0;
  width:100%;
  height:64px;
  z-index:1;
}
 
@media (prefers-reduced-motion:reduce){
  .lkc-kr3-bubble{transition:none;}
}
@media (max-width:575px){
  .lkc-kr3-section{padding:56px 16px 90px;}
  .lkc-kr3-rainbow{width:180px;}
  .lkc-kr3-bubble{padding:28px 22px;border-radius:30px;}
}