/* =========================================================
   Leadzen Technologies — Enhancements
   Brand: #cc147f (magenta) / #26bfb5 (teal) / Metropolis
   This file only ADDS styles. It does not override the
   existing design, colours or fonts.
   ========================================================= */

:root{
  --lz-pink:#cc147f;
  --lz-pink-dark:#b51271;
  --lz-teal:#26bfb5;
  --lz-dark:#0c0c0c;
  --lz-ink:#151515;
  --lz-gray:#626262;
  --lz-light:#f6f6f8;
  --wa-green:#25D366;
  --lz-shadow:0 18px 40px rgba(12,12,12,.12);
  --lz-shadow-lg:0 30px 70px rgba(204,20,127,.18);
}

/* ---------- Respect users who prefer reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* =========================================================
   1. WhatsApp floating "Click & Chat" button
   ========================================================= */
.lz-whatsapp{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:0;
  text-decoration:none;
  font-family:metropolis-semibold,sans-serif;
}
.lz-whatsapp__btn{
  width:62px;height:62px;
  border-radius:50%;
  background:var(--wa-green);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(37,211,102,.45);
  position:relative;
  transition:transform .25s ease, box-shadow .25s ease;
}
.lz-whatsapp__btn svg{width:34px;height:34px;fill:#fff;}
.lz-whatsapp__btn::before{
  content:"";
  position:absolute;inset:0;border-radius:50%;
  background:var(--wa-green);
  z-index:-1;
  animation:lz-pulse 2.2s infinite;
}
@keyframes lz-pulse{
  0%{transform:scale(1);opacity:.7;}
  70%{transform:scale(1.9);opacity:0;}
  100%{transform:scale(1.9);opacity:0;}
}
.lz-whatsapp__label{
  max-width:0;overflow:hidden;white-space:nowrap;
  background:#fff;color:var(--lz-ink);
  border-radius:30px;
  font-size:14px;line-height:1;
  box-shadow:var(--lz-shadow);
  margin-right:-31px;padding:0;
  opacity:0;
  transition:max-width .35s ease, opacity .3s ease, padding .35s ease, margin .35s ease;
}
.lz-whatsapp:hover .lz-whatsapp__btn{transform:scale(1.08);}
.lz-whatsapp:hover .lz-whatsapp__label{
  max-width:220px;opacity:1;
  padding:14px 46px 14px 18px;margin-right:-31px;
}
@media (max-width:600px){
  .lz-whatsapp{right:16px;bottom:16px;}
  .lz-whatsapp__btn{width:56px;height:56px;}
  .lz-whatsapp:hover .lz-whatsapp__label{max-width:0;opacity:0;padding:0;}
}

/* =========================================================
   2. Generic reveal-on-scroll (used where AOS isn't applied)
   ========================================================= */
.lz-reveal{opacity:0;transform:translateY(38px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);}
.lz-reveal.is-visible{opacity:1;transform:none;}
.lz-reveal.delay-1{transition-delay:.12s;}
.lz-reveal.delay-2{transition-delay:.24s;}
.lz-reveal.delay-3{transition-delay:.36s;}

/* =========================================================
   3. Service card — make Internship card interactive
   ========================================================= */
.service-item{transition:transform .35s ease;}
a.service-link{display:block;text-decoration:none;color:inherit;}
a.service-link:hover{transform:translateY(-6px);}
.service-item--feature{
  position:relative;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(204,20,127,.06), rgba(38,191,181,.06));
  padding:26px 24px;
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
}
.service-item--feature::after{
  content:"Explore program \2192";
  display:inline-block;
  margin-top:10px;
  color:var(--lz-pink);
  font-family:metropolis-semibold,sans-serif;
  font-size:14px;
  transform:translateX(0);
  transition:transform .3s ease;
}
.service-item--feature:hover{box-shadow:var(--lz-shadow-lg);transform:translateY(-8px);}
.service-item--feature:hover::after{transform:translateX(8px);}
.service-item--feature .service-icon{
  background:linear-gradient(135deg,var(--lz-pink),var(--lz-teal)) !important;
  color:#fff !important;
}
.lz-badge{
  position:absolute;top:14px;right:-38px;
  background:var(--lz-pink);color:#fff;
  font-family:metropolis-semibold,sans-serif;font-size:11px;letter-spacing:.06em;
  padding:5px 44px;transform:rotate(45deg);
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}

/* =========================================================
   4. Works / Portfolio cards (projects + certificates)
   ========================================================= */
.lz-worksgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:26px;
  margin-top:20px;
}
.lz-card{
  position:relative;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--lz-shadow);
  transition:transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s ease;
  display:flex;flex-direction:column;
  text-decoration:none;color:var(--lz-ink);
  will-change:transform;
}
.lz-card:hover{transform:translateY(-10px);box-shadow:var(--lz-shadow-lg);}
.lz-card__media{
  height:190px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#1a1a1a,#2a2a2a);
}
.lz-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.lz-card:hover .lz-card__media img{transform:scale(1.08);}
.lz-card__tag{
  position:absolute;top:14px;left:14px;
  background:var(--lz-pink);color:#fff;
  font-family:metropolis-semibold,sans-serif;font-size:11px;letter-spacing:.05em;
  padding:6px 12px;border-radius:30px;text-transform:uppercase;
}
.lz-card__tag--teal{background:var(--lz-teal);}
.lz-card__body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column;}
.lz-card__body h4{
  font-family:metropolis-semibold,sans-serif;
  font-size:19px;margin:0 0 8px;color:var(--lz-ink);line-height:1.3;
}
.lz-card__body p{color:var(--lz-gray);font-size:15px;line-height:1.55;margin:0 0 16px;flex:1;}
.lz-card__cta{
  font-family:metropolis-semibold,sans-serif;font-size:14px;color:var(--lz-pink);
  display:inline-flex;align-items:center;gap:7px;
}
.lz-card__cta svg{width:16px;height:16px;fill:currentColor;transition:transform .3s ease;}
.lz-card:hover .lz-card__cta svg{transform:translateX(6px);}

/* placeholder media (no image) with initials */
.lz-card__media--doc{display:flex;align-items:center;justify-content:center;}
.lz-card__media--doc span{
  font-family:domine-bold,serif;color:#fff;font-size:56px;opacity:.9;
  text-shadow:0 6px 18px rgba(0,0,0,.4);
}
.lz-card__media--pink{background:linear-gradient(135deg,var(--lz-pink),var(--lz-pink-dark));}
.lz-card__media--teal{background:linear-gradient(135deg,var(--lz-teal),#159b91);}
.lz-card__media--mix{background:linear-gradient(135deg,var(--lz-pink),var(--lz-teal));}

/* =========================================================
   5. Stats / counters
   ========================================================= */
.lz-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  margin:34px 0 6px;
}
.lz-stat{text-align:center;padding:18px 10px;}
.lz-stat__num{
  font-family:metropolis-bold,sans-serif;
  font-size:52px;line-height:1;
  background:linear-gradient(135deg,var(--lz-pink),var(--lz-teal));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lz-stat__label{margin-top:8px;color:var(--lz-gray);font-size:15px;letter-spacing:.02em;}
@media (max-width:768px){.lz-stats{grid-template-columns:repeat(2,1fr);}}

/* =========================================================
   6. Internship page
   ========================================================= */
.lz-intern-hero{
  position:relative;
  min-height:70vh;
  display:flex;align-items:center;
  background:linear-gradient(115deg,#0c0c0c 0%,#1b0a15 55%,#08201e 100%);
  color:#fff;overflow:hidden;padding:120px 0 80px;
}
.lz-intern-hero::before,
.lz-intern-hero::after{
  content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;z-index:0;
}
.lz-intern-hero::before{width:420px;height:420px;background:var(--lz-pink);top:-120px;right:-80px;animation:lz-float 9s ease-in-out infinite;}
.lz-intern-hero::after{width:360px;height:360px;background:var(--lz-teal);bottom:-140px;left:-60px;animation:lz-float 11s ease-in-out infinite reverse;}
@keyframes lz-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-28px);}}
.lz-intern-hero .row{position:relative;z-index:2;}
.lz-eyebrow{
  display:inline-block;
  font-family:metropolis-semibold,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;font-size:13px;
  color:var(--lz-teal);margin-bottom:18px;
}
.lz-intern-hero h1{
  font-family:metropolis-bold,sans-serif;
  font-size:clamp(34px,6vw,68px);line-height:1.05;margin:0 0 20px;color:#fff;
}
.lz-intern-hero h1 .hl{
  background:linear-gradient(120deg,var(--lz-pink),var(--lz-teal));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lz-intern-hero p.lead{font-size:19px;line-height:1.6;max-width:640px;color:#d9d9d9;}
.lz-hero-cta{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap;}
.lz-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:metropolis-semibold,sans-serif;font-size:15px;
  padding:16px 30px;border-radius:40px;text-decoration:none;cursor:pointer;border:none;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.lz-btn--primary{background:linear-gradient(120deg,var(--lz-pink),var(--lz-pink-dark));color:#fff;box-shadow:0 12px 30px rgba(204,20,127,.4);}
.lz-btn--primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(204,20,127,.55);}
.lz-btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);}
.lz-btn--ghost:hover{border-color:var(--lz-teal);color:var(--lz-teal);transform:translateY(-3px);}
.lz-btn--wa{background:var(--wa-green);color:#fff;box-shadow:0 12px 30px rgba(37,211,102,.4);}
.lz-btn--wa:hover{transform:translateY(-3px);}
.lz-btn svg{width:18px;height:18px;fill:currentColor;}

.lz-section{padding:82px 0;}
.lz-section .row{max-width:1100px;margin:0 auto;padding:0 22px;}
.lz-section h2{
  font-family:metropolis-bold,sans-serif;
  font-size:clamp(28px,4.2vw,42px);line-height:1.12;margin:0 0 16px;color:var(--lz-ink);
}
.lz-section .lz-eyebrow{color:var(--lz-pink);}
.lz-section .sub{color:var(--lz-gray);font-size:18px;line-height:1.65;max-width:720px;margin:0 0 8px;}
.lz-section--light{background:var(--lz-light);}

/* curriculum / feature grid */
.lz-featgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:36px;}
.lz-feat{
  background:#fff;border-radius:14px;padding:28px 24px;box-shadow:var(--lz-shadow);
  border-top:3px solid transparent;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.lz-feat:hover{transform:translateY(-8px);box-shadow:var(--lz-shadow-lg);border-top-color:var(--lz-pink);}
.lz-feat__ic{
  width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(204,20,127,.12),rgba(38,191,181,.12));margin-bottom:16px;
  font-size:26px;
}
.lz-feat h4{font-family:metropolis-semibold,sans-serif;font-size:19px;margin:0 0 8px;color:var(--lz-ink);}
.lz-feat p{color:var(--lz-gray);font-size:15px;line-height:1.6;margin:0;}

/* numbered steps */
.lz-steps{counter-reset:step;display:grid;gap:22px;margin-top:34px;}
.lz-step{
  display:flex;gap:22px;align-items:flex-start;
  background:#fff;border-radius:14px;padding:24px 26px;box-shadow:var(--lz-shadow);
  transition:transform .3s ease;
}
.lz-step:hover{transform:translateX(8px);}
.lz-step::before{
  counter-increment:step;content:counter(step,decimal-leading-zero);
  font-family:metropolis-bold,sans-serif;font-size:30px;
  background:linear-gradient(135deg,var(--lz-pink),var(--lz-teal));
  -webkit-background-clip:text;background-clip:text;color:transparent;min-width:52px;
}
.lz-step h4{margin:0 0 6px;font-family:metropolis-semibold,sans-serif;font-size:19px;color:var(--lz-ink);}
.lz-step p{margin:0;color:var(--lz-gray);font-size:15px;line-height:1.6;}

/* certificate gallery */
.lz-certgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:34px;}
.lz-cert{
  border-radius:14px;overflow:hidden;box-shadow:var(--lz-shadow);background:#fff;
  transition:transform .4s ease, box-shadow .4s ease;text-decoration:none;color:var(--lz-ink);display:block;
}
.lz-cert:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:var(--lz-shadow-lg);}
.lz-cert__img{aspect-ratio:4/3;overflow:hidden;background:#f0f0f0;}
.lz-cert__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.lz-cert:hover .lz-cert__img img{transform:scale(1.06);}
.lz-cert__cap{padding:14px 16px;font-family:metropolis-semibold,sans-serif;font-size:15px;display:flex;justify-content:space-between;align-items:center;}
.lz-cert__cap span{color:var(--lz-pink);font-size:13px;}

/* video */
.lz-video-wrap{margin-top:34px;border-radius:18px;overflow:hidden;box-shadow:var(--lz-shadow-lg);position:relative;}
.lz-video-wrap video{width:100%;display:block;}

/* intern photo strip */
.lz-photostrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:30px;}
.lz-photostrip figure{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:1/1;box-shadow:var(--lz-shadow);position:relative;}
.lz-photostrip img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease, filter .5s ease;filter:grayscale(.15);}
.lz-photostrip figure:hover img{transform:scale(1.1);filter:grayscale(0);}

/* =========================================================
   7. Resume / Apply form
   ========================================================= */
.lz-apply{background:linear-gradient(135deg,#0c0c0c,#1b0a15);color:#fff;}
.lz-apply h2{color:#fff;}
.lz-apply .sub{color:#cfcfcf;}
.lz-form{
  margin-top:36px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;padding:34px;max-width:760px;
  backdrop-filter:blur(6px);
}
.lz-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:600px){.lz-form .grid2{grid-template-columns:1fr;}}
.lz-field{margin-bottom:18px;display:flex;flex-direction:column;}
.lz-field label{font-family:metropolis-semibold,sans-serif;font-size:13px;letter-spacing:.04em;margin-bottom:8px;color:#e6e6e6;}
.lz-field input,.lz-field textarea,.lz-field select{
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14);
  border-radius:10px;padding:14px 16px;color:#fff;font-size:15px;font-family:metropolis-regular,sans-serif;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;width:100%;
}
.lz-field input::placeholder,.lz-field textarea::placeholder{color:#8f8f8f;}
.lz-field input:focus,.lz-field textarea:focus,.lz-field select:focus{
  outline:none;border-color:var(--lz-teal);background:rgba(255,255,255,.09);
  box-shadow:0 0 0 4px rgba(38,191,181,.15);
}
.lz-field textarea{min-height:110px;resize:vertical;}
/* file input */
.lz-file{
  border:1.6px dashed rgba(255,255,255,.28);border-radius:12px;padding:22px;text-align:center;
  cursor:pointer;transition:border-color .25s ease, background .25s ease;position:relative;
}
.lz-file:hover{border-color:var(--lz-teal);background:rgba(38,191,181,.06);}
.lz-file input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.lz-file__txt{color:#cfcfcf;font-size:14px;}
.lz-file__txt strong{color:var(--lz-teal);}
.lz-file__name{margin-top:8px;font-size:13px;color:#fff;font-family:metropolis-semibold,sans-serif;min-height:16px;}
.lz-form .lz-btn{margin-top:8px;}
.lz-honeypot{position:absolute !important;left:-9999px !important;top:-9999px !important;}
.lz-form small.note{display:block;margin-top:14px;color:#9a9a9a;font-size:12.5px;}

/* form messages */
.lz-msg{padding:14px 18px;border-radius:10px;font-size:14.5px;margin-bottom:18px;font-family:metropolis-semibold,sans-serif;}
.lz-msg--ok{background:rgba(38,191,181,.15);color:#7ff2ea;border:1px solid rgba(38,191,181,.4);}
.lz-msg--err{background:rgba(204,20,127,.15);color:#ff9ad2;border:1px solid rgba(204,20,127,.4);}

/* enhanced enquiry inputs on index (dark contact section) */
.s-contact form input:focus,
.s-contact form textarea:focus{
  outline:none;box-shadow:0 0 0 3px rgba(38,191,181,.3);border-color:var(--lz-teal) !important;
}
.lz-inline-msg{display:block;margin:10px auto 0;max-width:520px;font-family:metropolis-semibold,sans-serif;font-size:14px;}
.lz-inline-msg.ok{color:#26bfb5;}
.lz-inline-msg.err{color:#ff9ad2;}

/* button shine */
.btn.btn-default, .lz-btn--primary{position:relative;overflow:hidden;}
.btn.btn-default::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:none;
}
.btn.btn-default:hover::after{animation:lz-shine .8s ease;}
@keyframes lz-shine{0%{left:-120%;}100%{left:140%;}}

/* success page hero */
.lz-thanks{
  min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(135deg,#0c0c0c,#1b0a15 55%,#08201e);color:#fff;padding:40px 20px;
}
.lz-thanks .inner{max-width:560px;}
.lz-thanks .tick{
  width:96px;height:96px;border-radius:50%;margin:0 auto 26px;
  background:linear-gradient(135deg,var(--lz-teal),#159b91);
  display:flex;align-items:center;justify-content:center;box-shadow:0 16px 40px rgba(38,191,181,.4);
  animation:lz-pop .5s cubic-bezier(.2,1.4,.4,1);
}
.lz-thanks .tick svg{width:46px;height:46px;fill:#fff;}
@keyframes lz-pop{0%{transform:scale(0);}100%{transform:scale(1);}}
.lz-thanks h1{font-family:metropolis-bold,sans-serif;font-size:clamp(30px,5vw,48px);margin:0 0 14px;}
.lz-thanks p{color:#cfcfcf;font-size:18px;line-height:1.6;margin:0 0 30px;}

/* internship page simple nav back */
.lz-topbar{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 26px;background:rgba(12,12,12,.75);backdrop-filter:blur(10px);
}
.lz-topbar a.logo img{height:34px;display:block;}
.lz-topbar .links a{
  color:#fff;text-decoration:none;font-family:metropolis-semibold,sans-serif;font-size:14px;
  margin-left:22px;transition:color .25s ease;
}
.lz-topbar .links a:hover{color:var(--lz-teal);}
@media(max-width:600px){.lz-topbar .links a{margin-left:14px;font-size:13px;}}

/* footer for internship page */
.lz-foot{background:#0c0c0c;color:#bdbdbd;padding:50px 22px;text-align:center;}
.lz-foot a{color:var(--lz-teal);text-decoration:none;}
.lz-foot .row{max-width:1000px;margin:0 auto;}
