/**
* Theme Name: Neotech Child
* Description: This is a child theme of Neotech, adapted for Learn to Leap.
* Author: Learn to Leap
* Template: neotech
* Version: 1.0.17
*/

@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Lexend:wght@400;500;600;700;800&display=swap');


/* ============ TOKENS ============ */
:root{
  --ink:#180e2e;--ink-2:#3a3258;--slate:#675f82;--muted:#938cad;--line:#ece6f6;
  --paper:#fff;--paper-2:#faf7ff;--paper-3:#f3eefb;
  --pp-950:#100523;--pp-900:#1a0a36;--pp-800:#291056;--pp-700:#451c95;--pp-600:#6429c9;--pp:#7c3aed;--pp-300:#a884f5;
  --mg:#df2f86;--mg-b:#ec4899;--pink:#f472b6;--coral:#ff6a7f;--gold:#e7b24a;
  --grad:linear-gradient(115deg,#7c3aed 0%,#9b2bc0 42%,#df2f86 74%,#ff6a7f 100%);
  --grad-t:linear-gradient(95deg,#8b46f0 0%,#df2f86 55%,#ff7a8c 100%);
  --sh-sm:0 2px 10px rgba(24,14,46,.06);--sh:0 18px 50px -20px rgba(68,28,149,.32);--sh-lg:0 40px 90px -30px rgba(68,28,149,.5);
  --r:18px;--r-lg:26px;--r-sm:12px;--maxw:1200px;--sp:clamp(70px,8.5vw,120px);
  font-synthesis-weight:none;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Be Vietnam Pro",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.62;font-size:16.5px;letter-spacing:-.005em;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.fd{font-family:"Lexend",sans-serif;letter-spacing:-.022em;line-height:1.08;font-weight:700}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--mg);color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.sp{padding-block:var(--sp)}
.center{text-align:center}
.gt{background:var(--grad-t);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:"Lexend",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--pp-600)}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--grad)}
.eyebrow.light{color:#d9c8ff}
.eyebrow.center{justify-content:center}
.lead{font-size:clamp(16.5px,1.9vw,18.5px);color:var(--slate);max-width:64ch}
.sec-head{max-width:760px;margin-bottom:52px}
.sec-head.center{margin-inline:auto}
.sec-head h2{font-size:clamp(29px,4.4vw,48px);margin:15px 0 17px}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:"Lexend",sans-serif;font-weight:600;font-size:15px;padding:14px 26px;border-radius:60px;border:0;cursor:pointer;color:#fff;background:var(--grad);background-size:160% 160%;transition:.45s cubic-bezier(.2,.8,.2,1);box-shadow:0 14px 30px -12px rgba(223,47,134,.6);white-space:nowrap}
.btn:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 20px 40px -12px rgba(223,47,134,.72)}
.btn svg{width:17px;height:17px;transition:.4s}
.btn:hover svg{transform:translateX(4px)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:none;border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--pp);color:var(--pp-700);box-shadow:var(--sh-sm)}
.btn.glass{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(8px);box-shadow:none}
.btn.glass:hover{background:rgba(255,255,255,.16)}
.btn.sm{padding:11px 20px;font-size:14px}

/* ============ LOGO ============ */
.logo{display:inline-flex;align-items:center;gap:11px}
.logo .mark{width:42px;height:42px;flex:none}
.logo-word{font-family:"Lexend",sans-serif;font-weight:800;font-size:21px;line-height:.9;letter-spacing:-.03em;color:var(--ink);display:flex;flex-direction:column}
.logo-word .tt{font-size:10px;font-weight:700;color:var(--mg);letter-spacing:.04em;margin:1px 0}

/* ============ HEADER ============ */
header{position:fixed;inset:0 0 auto 0;z-index:100;transition:.4s}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;transition:.4s}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none}
.nav-links a{font-size:14.5px;font-weight:500;color:#efe7ff;position:relative;transition:.25s;letter-spacing:-.01em;cursor:pointer}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--grad);border-radius:2px;transition:.3s}
.nav-links a:hover,.nav-links a.on{color:#fff}
.nav-links a:hover::after,.nav-links a.on::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:14px}
header.scrolled{background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px);box-shadow:0 1px 0 var(--line),0 10px 40px -28px rgba(68,28,149,.5)}
header.scrolled .nav{height:68px}
header.scrolled .nav-links a{color:var(--ink-2)}
header.scrolled .nav-links a:hover,header.scrolled .nav-links a.on{color:var(--pp-700)}
header.scrolled .logo-word{color:var(--ink)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}
header.scrolled .burger span{background:var(--ink)}
.mob{display:none}
.mob.open{display:block;position:fixed;inset:0;z-index:99;background:rgba(16,5,35,.98);backdrop-filter:blur(12px);padding:100px 30px 40px}
.mob ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.mob a{display:block;font-family:"Lexend",sans-serif;font-size:21px;font-weight:600;color:#fff;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}
.mob .btn{margin-top:26px;width:100%;justify-content:center}

/* ============ PAGE SYSTEM ============ */
/* .page{display:none} disabled for WP */ section.page{display:block}
.page.active{display:block;animation:fadePage .5s ease}
@keyframes fadePage{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ============ HOME HERO ============ */
.hero{position:relative;background:radial-gradient(120% 90% at 80% -10%,#3d1580 0%,#1b0b38 45%,#120627 100%);color:#fff;padding-top:150px;overflow:hidden}
.hero .wrap{position:relative;z-index:3}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center;padding-bottom:92px}
.hero h1{font-size:clamp(33px,5.3vw,60px);font-weight:800;letter-spacing:-.03em}
.hero h1 .gt{background:linear-gradient(95deg,#c9a6ff,#ff7a9b);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{font-size:clamp(15.5px,1.7vw,18px);color:#cdc2e8;margin:22px 0 30px;max-width:56ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12)}
.hbadge{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:500;color:#e7ddff;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);padding:9px 15px;border-radius:50px;backdrop-filter:blur(6px)}
.hbadge svg{width:15px;height:15px;color:var(--pink);flex:none}
.hbadge b{color:#fff;font-weight:700}
.hero-visual{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.hv-ring{position:absolute;border-radius:50%;border:1px solid rgba(168,132,245,.22)}
.hv-ring.r1{inset:2%}.hv-ring.r2{inset:13%;border-style:dashed;border-color:rgba(223,47,134,.22)}.hv-ring.r3{inset:26%}
.spin{animation:spin 60s linear infinite}.spin-r{animation:spin 44s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.hv-core{position:relative;width:54%;aspect-ratio:1/1;display:grid;place-items:center;z-index:2}
.hv-hex{position:absolute;inset:0;filter:drop-shadow(0 30px 60px rgba(124,58,237,.6))}
.hv-chip{position:relative;z-index:3;width:46%;color:#fff;filter:drop-shadow(0 8px 20px rgba(0,0,0,.4))}
.hv-node{position:absolute;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);z-index:4;box-shadow:0 16px 30px -12px rgba(0,0,0,.5)}
.hv-node svg{width:24px;height:24px}
.hv-node.n1{top:6%;left:42%;color:#ffc0d0}.hv-node.n2{top:40%;right:1%;color:#c9a6ff}.hv-node.n3{bottom:7%;left:18%;color:#ffd9a0}.hv-node.n4{top:34%;left:-2%;color:#a6f0d8}
.float{animation:float 6s ease-in-out infinite}.float.d1{animation-delay:-2s}.float.d2{animation-delay:-4s}.float.d3{animation-delay:-1s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero-glow{position:absolute;width:60vw;height:60vw;max-width:760px;max-height:760px;border-radius:50%;filter:blur(90px);opacity:.5;z-index:1}
.hero-glow.g1{background:radial-gradient(circle,#df2f86,transparent 70%);top:-15%;right:-8%}
.hero-glow.g2{background:radial-gradient(circle,#7c3aed,transparent 70%);bottom:-25%;left:-12%;opacity:.45}
.wave{display:block;width:100%;height:auto;color:var(--paper)}

/* ============ INNER PAGE HERO ============ */
.phero{position:relative;background:radial-gradient(120% 120% at 82% -20%,#3d1580,#1b0b38 50%,#120627);color:#fff;padding:140px 0 70px;overflow:hidden}
.phero .hex-bg{position:absolute;inset:0;opacity:.5;color:rgba(168,132,245,.12)}
.phero .wrap{position:relative;z-index:2}
.crumb{display:flex;align-items:center;gap:9px;font-size:13px;color:#b3a6d6;margin-bottom:16px;flex-wrap:wrap}
.crumb a{cursor:pointer}.crumb a:hover{color:#fff}.crumb svg{width:13px;height:13px;opacity:.6}
.phero h1{font-size:clamp(30px,4.8vw,52px);font-weight:800;max-width:18ch}
.phero p{font-size:clamp(15.5px,1.7vw,18px);color:#cdc2e8;margin-top:18px;max-width:60ch}
.phero .ph-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}

/* ============ STATS ============ */
.stats-inner{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--paper);box-shadow:var(--sh)}
.stat{padding:32px 20px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .num{font-family:"Lexend",sans-serif;font-weight:800;font-size:clamp(28px,3.4vw,40px);background:var(--grad-t);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em;line-height:1}
.stat .lbl{font-size:12.5px;color:var(--slate);margin-top:8px;font-weight:500;line-height:1.35}

/* ============ GENERIC GRID ============ */
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}

/* ============ CARDS (light) ============ */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;transition:.4s}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.ic-box{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--paper-3);color:var(--pp-600);transition:.4s}
.ic-box svg{width:26px;height:26px}
.card h3{font-size:18px;margin:16px 0 9px;font-weight:700}
.card p{font-size:14px;color:var(--slate);line-height:1.55}

/* values */
.val .n{font-family:"Lexend",sans-serif;font-weight:800;font-size:15px;color:var(--pp-300);letter-spacing:.05em}
.val:hover .ic-box{background:var(--grad);color:#fff;transform:rotate(-6deg)}

/* ============ ABOUT bits ============ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.about-body p{color:var(--slate);margin-bottom:16px}
.about-body p strong{color:var(--ink);font-weight:600}
.id-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-sm);position:relative;overflow:hidden}
.id-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad)}
.id-card h4{font-size:18px;margin-bottom:18px;font-weight:700}
.id-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:14px}
.id-row:last-child{border-bottom:0}
.id-row .k{color:var(--muted);min-width:120px;font-weight:500}
.id-row .v{color:var(--ink);font-weight:600}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.vm-card{padding:24px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.vm-card .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--grad);color:#fff;margin-bottom:14px}
.vm-card .ic svg{width:20px;height:20px}
.vm-card h5{font-family:"Lexend",sans-serif;font-size:15px;font-weight:700;margin-bottom:7px}
.vm-card p{font-size:13.5px;color:var(--slate);line-height:1.55}
.quote{margin-top:34px;border-left:3px solid var(--mg);padding:6px 0 6px 24px;background:linear-gradient(90deg,rgba(223,47,134,.05),transparent)}
.quote p{font-family:"Lexend",sans-serif;font-weight:300;font-size:clamp(17px,2vw,21px);line-height:1.42;color:var(--ink);letter-spacing:-.01em}
.quote .by{margin-top:14px;font-size:14px;color:var(--slate)}
.quote .by b{color:var(--pp-700);font-weight:700}

/* timeline */
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:10px}
.tl-item{position:relative;padding:0 16px}
.tl-item::before{content:"";position:absolute;top:9px;left:16px;right:0;height:2px;background:var(--line)}
.tl-item:last-child::before{display:none}
.tl-item .dot{width:18px;height:18px;border-radius:50%;background:var(--grad);position:relative;z-index:2;margin-bottom:18px;box-shadow:0 0 0 5px var(--paper-3)}
.tl-item .yr{font-family:"Lexend",sans-serif;font-weight:800;font-size:18px;color:var(--pp-700)}
.tl-item p{font-size:13px;color:var(--slate);margin-top:6px;line-height:1.5}

/* ============ STUDENT PORTRAIT (dark) ============ */
.dark{background:radial-gradient(120% 100% at 50% 0%,#241050 0%,#160a30 60%,#120627 100%);color:#fff;position:relative;overflow:hidden}
.dark .hex-bg{position:absolute;inset:0;opacity:.5;color:rgba(168,132,245,.12)}
.dark .wrap{position:relative;z-index:2}
.dark .sec-head h2,.dark h2,.dark h3{color:#fff}
.dark .lead{color:#c7bce4}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:24px;transition:.4s;backdrop-filter:blur(6px)}
.pcard:hover{background:rgba(255,255,255,.09);transform:translateY(-5px);border-color:rgba(223,47,134,.4)}
.pcard .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--grad);color:#fff;margin-bottom:15px;box-shadow:0 12px 24px -10px rgba(223,47,134,.7)}
.pcard .ic svg{width:23px;height:23px}
.pcard h4{font-size:15px;font-weight:700;line-height:1.25;color:#fff}

/* ============ ROOT STRENGTHS ============ */
.rs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rs{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;transition:.4s;overflow:hidden}
.rs::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:.5s}
.rs:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.rs:hover::before{transform:scaleX(1)}
.rs .tag{font-family:"Lexend",sans-serif;font-weight:800;font-size:13px;color:var(--mg);letter-spacing:.08em}
.rs .ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--grad);color:#fff;margin:14px 0 18px;box-shadow:0 14px 28px -12px rgba(124,58,237,.55)}
.rs .ic svg{width:27px;height:27px}
.rs h3{font-size:19px;margin-bottom:7px;font-weight:700;line-height:1.2}
.rs .it{font-style:italic;color:var(--pp-600);font-size:13.5px;margin-bottom:12px}
.rs p{font-size:14px;color:var(--slate);line-height:1.58}
.rs ul{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:9px}
.rs ul li{font-size:13.5px;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.rs ul li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--grad);margin-top:7px;flex:none}
.rs ol{margin:12px 0 0 0;padding:0;list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:10px}
.rs ol li{counter-increment:s;font-size:13.5px;color:var(--ink-2);display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.rs ol li::before{content:counter(s);font-family:"Lexend",sans-serif;font-weight:800;font-size:12px;color:#fff;background:var(--grad);width:22px;height:22px;border-radius:7px;display:grid;place-items:center;flex:none}

/* ============ SOLUTIONS ============ */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sol{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;transition:.45s;overflow:hidden;isolation:isolate}
.sol::after{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transition:.45s;z-index:-1}
.sol:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:transparent;color:#fff}
.sol:hover::after{opacity:1}
.sol:hover .s-num,.sol:hover p,.sol:hover .s-tag{color:rgba(255,255,255,.92)}
.sol:hover .ic-box{background:rgba(255,255,255,.16);color:#fff}
.sol:hover h3{color:#fff}
.s-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.s-num{font-family:"Lexend",sans-serif;font-weight:800;font-size:30px;color:var(--line);transition:.45s;letter-spacing:-.04em}
.sol h3{font-size:18px;margin-bottom:9px;font-weight:700;transition:.3s}
.sol p{font-size:14px;color:var(--slate);line-height:1.55;transition:.3s}
.s-tag{display:inline-block;margin-top:14px;font-size:12px;font-weight:600;color:var(--pp-600);transition:.3s;font-family:"Lexend",sans-serif}

/* lab spotlight */
.lab{background:linear-gradient(160deg,#1b0b38,#2a1059 55%,#3d1568);color:#fff;position:relative;overflow:hidden}
.lab .glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(223,47,134,.4),transparent 70%);filter:blur(80px);top:-20%;right:-10%}
.lab .wrap{position:relative;z-index:2}
.lab-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.lab .eyebrow{color:#ffb3d0}
.lab h2{font-size:clamp(27px,3.8vw,44px);margin:15px 0 17px;color:#fff}
.lab .lead{color:#cdc2e8}
.lab-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px 0}
.lab-chips .chip{font-size:13px;font-weight:600;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:10px;color:#fff}
.lab-feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.feat{display:flex;gap:13px;align-items:flex-start}
.feat .ic{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;flex:none;color:var(--pink)}
.feat .ic svg{width:20px;height:20px}
.feat h5{font-size:14px;font-weight:700;margin-bottom:2px}
.feat p{font-size:12.5px;color:#bdb2da;line-height:1.45}
.op-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:30px;backdrop-filter:blur(10px);box-shadow:var(--sh-lg)}
.op-photo{aspect-ratio:16/10;border-radius:var(--r);background:linear-gradient(135deg,#3d1568,#df2f86);position:relative;overflow:hidden;margin-bottom:22px;display:grid;place-items:center}
.ph-label{position:absolute;bottom:12px;left:12px;font-size:11px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.3);padding:5px 10px;border-radius:20px;backdrop-filter:blur(4px);display:flex;align-items:center;gap:6px}
.ph-label svg{width:13px;height:13px}
.ph-hex{color:rgba(255,255,255,.25)}
.op-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:14px;overflow:hidden}
.op-stat{background:rgba(20,10,40,.4);padding:17px 16px}
.op-stat .v{font-family:"Lexend",sans-serif;font-weight:800;font-size:23px;color:#fff;letter-spacing:-.03em}
.op-stat .v span{font-size:12.5px;color:var(--pink);font-weight:600}
.op-stat .k{font-size:11.5px;color:#bdb2da;margin-top:3px;font-weight:500}

/* program ladder */
.prog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.step{position:relative;padding:0 18px}
.step:not(:last-child)::after{content:"";position:absolute;top:33px;right:-12px;width:24px;height:2px;background:var(--line)}
.step .dot{width:66px;height:66px;border-radius:20px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;margin-bottom:20px;transition:.4s;box-shadow:var(--sh-sm)}
.step:hover .dot{background:var(--grad);border-color:transparent;transform:translateY(-4px)}
.step .dot svg{width:30px;height:30px;color:var(--pp-600);transition:.4s}
.step:hover .dot svg{color:#fff}
.step .age{font-family:"Lexend",sans-serif;font-size:12px;font-weight:700;color:var(--mg);letter-spacing:.04em}
.step h3{font-size:18px;margin:5px 0 10px;font-weight:700}
.step p{font-size:13.5px;color:var(--slate);line-height:1.55;margin-bottom:14px}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:var(--pp-700);background:var(--paper-3);padding:6px 12px;border-radius:30px;font-family:"Lexend",sans-serif}
.prog-note{margin-top:44px;text-align:center;font-size:14px;color:var(--slate);display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}

/* ============ CAPACITY ============ */
.prov-cloud{display:flex;flex-wrap:wrap;gap:10px}
.prov{font-size:14px;font-weight:600;font-family:"Lexend",sans-serif;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:10px 18px;border-radius:50px;transition:.3s;display:inline-flex;align-items:center;gap:8px}
.prov:hover{border-color:var(--pp);color:var(--pp-700);transform:translateY(-2px);box-shadow:var(--sh-sm)}
.prov .d{width:7px;height:7px;border-radius:50%;background:var(--grad)}
.proj{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:.4s;display:flex;flex-direction:column}
.proj:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.proj .ph{aspect-ratio:16/9;position:relative;display:grid;place-items:center;overflow:hidden}
.proj .ph.a{background:linear-gradient(135deg,#451c95,#df2f86)}.proj .ph.b{background:linear-gradient(135deg,#6429c9,#ff6a7f)}.proj .ph.c{background:linear-gradient(135deg,#2a1059,#9b2bc0)}
.proj .ph .ph-hex{width:64px;height:64px}
.flag{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;font-family:"Lexend",sans-serif;color:#fff;background:rgba(0,0,0,.28);backdrop-filter:blur(4px);padding:6px 12px;border-radius:30px;display:flex;align-items:center;gap:6px}
.flag svg{width:13px;height:13px;color:var(--gold)}
.proj .bd{padding:24px;flex:1;display:flex;flex-direction:column}
.proj .bd h3{font-size:17px;margin-bottom:8px;font-weight:700;line-height:1.25}
.proj .bd p{font-size:13.5px;color:var(--slate);line-height:1.55}
.proj .bd .loc{margin-top:auto;padding-top:14px;font-size:12.5px;font-weight:600;color:var(--pp-600);display:flex;align-items:center;gap:7px}
.proj .bd .loc svg{width:14px;height:14px}

/* awards (dark gold) */
.aw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.aw{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:28px;transition:.4s}
.aw:hover{transform:translateY(-5px);background:rgba(255,255,255,.07);border-color:rgba(231,178,74,.4)}
.aw .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e7b24a,#f0d080);color:#1f0c40;margin-bottom:18px;box-shadow:0 12px 26px -10px rgba(231,178,74,.6)}
.aw .ic svg{width:25px;height:25px}
.aw .yr{font-family:"Lexend",sans-serif;font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.05em}
.aw h4{font-size:15.5px;margin:6px 0 9px;font-weight:700;line-height:1.25;color:#fff}
.aw p{font-size:13px;color:#bdb2da;line-height:1.5}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gal .cell{aspect-ratio:4/3;border-radius:var(--r);position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}
.gal .cell.a{background:linear-gradient(135deg,#451c95,#df2f86)}.gal .cell.b{background:linear-gradient(135deg,#6429c9,#ff6a7f)}.gal .cell.c{background:linear-gradient(135deg,#2a1059,#9b2bc0)}.gal .cell.d{background:linear-gradient(135deg,#3d1568,#ec4899)}
.gal .cell .ph-hex{width:46px;height:46px}
.gal .cell.big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}

/* ============ PARTNERS ============ */
.part-block{margin-bottom:36px}.part-block:last-child{margin-bottom:0}
.part-block .lbl{font-family:"Lexend",sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.part-block .lbl::after{content:"";flex:1;height:1px;background:var(--line)}
.part-row{display:flex;flex-wrap:wrap;gap:14px}
.plogo{display:inline-flex;align-items:center;gap:10px;font-family:"Lexend",sans-serif;font-weight:700;font-size:15px;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:14px 22px;border-radius:14px;transition:.3s;letter-spacing:-.01em}
.plogo:hover{border-color:var(--pp);color:var(--pp-700);transform:translateY(-3px);box-shadow:var(--sh-sm)}
.plogo .gi{width:26px;height:26px;border-radius:8px;background:var(--grad);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800;flex:none}

/* audience cards */
.aud{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;transition:.4s;display:flex;flex-direction:column;height:100%}
.aud:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:transparent}
.aud .ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--paper-3);color:var(--pp-600);margin-bottom:18px;transition:.4s}
.aud:hover .ic{background:var(--grad);color:#fff}
.aud .ic svg{width:27px;height:27px}
.aud h3{font-size:19px;margin-bottom:6px;font-weight:700}
.aud .who{font-size:12px;font-weight:600;color:var(--mg);font-family:"Lexend",sans-serif;letter-spacing:.04em;margin-bottom:12px}
.aud p{font-size:14px;color:var(--slate);line-height:1.55;margin-bottom:14px}
.aud ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.aud ul li{font-size:13.5px;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.aud ul li svg{width:17px;height:17px;color:var(--pp);flex:none;margin-top:2px}
.aud .btn{margin-top:auto;justify-content:center}

/* process */
.proc{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.proc-step{position:relative;padding:0 14px;text-align:center}
.proc-step::after{content:"";position:absolute;top:30px;right:-10px;width:20px;height:2px;background:var(--line)}
.proc-step:last-child::after{display:none}
.proc-step .num{width:60px;height:60px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;font-family:"Lexend",sans-serif;font-weight:800;font-size:22px;color:#fff;background:var(--grad);box-shadow:0 14px 28px -12px rgba(124,58,237,.55)}
.proc-step h4{font-size:15px;font-weight:700;margin-bottom:6px}
.proc-step p{font-size:12.5px;color:var(--slate);line-height:1.45}

/* commitments */
.com{text-align:center;padding:36px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:.4s}
.com:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.com .ic{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:var(--paper-3);color:var(--pp-600);transition:.4s}
.com:hover .ic{background:var(--grad);color:#fff}
.com .ic svg{width:30px;height:30px}
.com h3{font-size:18px;margin-bottom:10px;font-weight:700}
.com p{font-size:14px;color:var(--slate);line-height:1.55}

/* ============ POLICY ============ */
.pol{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);transition:.3s;background:var(--paper-2)}
.pol:hover{border-color:var(--pp-300);transform:translateX(4px);box-shadow:var(--sh-sm)}
.pol .code{font-family:"Lexend",sans-serif;font-weight:800;font-size:12.5px;color:#fff;background:var(--grad);padding:8px 12px;border-radius:10px;white-space:nowrap;flex:none}
.pol .txt h5{font-size:14.5px;font-weight:700;margin-bottom:3px}
.pol .txt p{font-size:12.5px;color:var(--slate);line-height:1.5}

/* ============ CONTACT ============ */
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.ct-info{display:flex;flex-direction:column;gap:18px}
.ct-item{display:flex;gap:16px;align-items:flex-start}
.ct-item .ic{width:48px;height:48px;border-radius:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;flex:none;color:var(--pink)}
.ct-item .ic svg{width:22px;height:22px}
.ct-item .k{font-size:12px;color:#9c92bd;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.ct-item .v{font-size:15px;color:#fff;font-weight:600;margin-top:2px}
.ct-item a.v:hover{color:var(--pink)}
.form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:32px;backdrop-filter:blur(10px)}
.form h3{font-size:20px;color:#fff;margin-bottom:6px;font-weight:700}
.form .fsub{font-size:13.5px;color:#bdb2da;margin-bottom:22px}
.field{margin-bottom:15px}
.field label{display:block;font-size:12.5px;color:#cdc2e8;font-weight:600;margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:11px;padding:12px 15px;color:#fff;font-family:inherit;font-size:14.5px;transition:.3s}
.field input::placeholder,.field textarea::placeholder{color:#8b81ad}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--mg);background:rgba(255,255,255,.09)}
.field select option{background:#2a1059;color:#fff}
.field textarea{resize:vertical;min-height:86px}
.form .btn{width:100%;justify-content:center;margin-top:6px}
.fnote{font-size:11.5px;color:#8b81ad;text-align:center;margin-top:13px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ============ CTA band ============ */
.cta-band{background:radial-gradient(110% 100% at 15% 0%,#3d1580,#1b0b38 55%,#120627);color:#fff;position:relative;overflow:hidden}
.cta-band .glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(223,47,134,.35),transparent 70%);filter:blur(90px);bottom:-25%;right:-5%}
.cta-band .wrap{position:relative;z-index:2;text-align:center}
.cta-band h2{font-size:clamp(28px,4.2vw,46px);color:#fff;margin:14px auto 16px;max-width:20ch}
.cta-band .lead{color:#cdc2e8;margin:0 auto 30px}
.cta-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ FOOTER ============ */
footer{background:#0d0420;color:#bdb2da;padding:62px 0 28px}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.08)}
.ft-about p{font-size:13.5px;line-height:1.65;margin:18px 0;max-width:36ch}
.ft-col h5{font-family:"Lexend",sans-serif;font-size:13px;font-weight:700;color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.ft-col a,.ft-col p{display:block;font-size:13.5px;color:#a89fc8;margin-bottom:11px;transition:.25s;line-height:1.5;cursor:pointer}
.ft-col a:hover{color:var(--pink)}
.ft-soc{display:flex;gap:10px;margin-top:4px}
.ft-soc a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:#cdc2e8}
.ft-soc a:hover{background:var(--grad);color:#fff;border-color:transparent}
.ft-soc svg{width:18px;height:18px}
.ft-bottom{padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:#7a719c}
.ft-bottom .nq{display:flex;gap:12px;flex-wrap:wrap}
.ft-bottom .nq span{color:#a89fc8}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(26px);transition:.8s cubic-bezier(.16,.84,.44,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.21s}.reveal.d4{transition-delay:.28s}.reveal.d5{transition-delay:.35s}.reveal.d6{transition-delay:.42s}

/* ============ RESPONSIVE ============ */
@media(max-width:1080px){
  .stats-inner{grid-template-columns:repeat(3,1fr)}
  .stat:nth-child(3){border-right:0}.stat:nth-child(n+4){border-top:1px solid var(--line)}
  .g4,.pgrid,.aw-grid,.gal{grid-template-columns:repeat(2,1fr)}
  .g3,.sol-grid,.rs-grid{grid-template-columns:repeat(2,1fr)}
  .prog-grid{grid-template-columns:repeat(2,1fr);gap:34px 18px}.step::after{display:none}
  .proc{grid-template-columns:repeat(2,1fr);gap:30px 14px}.proc-step::after{display:none}
  .tl{grid-template-columns:repeat(2,1fr);gap:28px 16px}.tl-item::before{display:none}
  .gal .cell.big{grid-column:span 2;grid-row:auto;aspect-ratio:16/9}
}
@media(max-width:860px){
  .nav-links{display:none}.burger{display:flex}
  .hero-grid,.split,.lab-grid,.ct-grid{grid-template-columns:1fr;gap:40px}
  .hero-visual{max-width:400px;margin-inline:auto;order:-1}
  .lab-grid .op-card{order:-1}
  .ft-grid{grid-template-columns:1fr 1fr;gap:30px}.ft-about{grid-column:1/-1}
}
@media(max-width:560px){
  body{font-size:16px}:root{--sp:60px}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .stat{border-right:1px solid var(--line)!important}.stat:nth-child(2n){border-right:0!important}.stat:nth-child(n+3){border-top:1px solid var(--line)}
  .g2,.g3,.g4,.sol-grid,.rs-grid,.pgrid,.aw-grid,.prog-grid,.proc,.tl,.frow,.vm,.lab-feats,.gal{grid-template-columns:1fr}
  .gal .cell.big{grid-column:auto}
  .nav{height:64px}.hero{padding-top:116px}.phero{padding-top:110px}
}

/* ============ LOGO IMG (brand) ============ */
.logo-img{height:40px;width:auto;display:block}
.logo-img--dark{display:none}
header.scrolled .logo-img--light{display:none}
header.scrolled .logo-img--dark{display:block}
.logo-img--ft{height:46px}
@media(max-width:600px){.logo-img{height:32px}.logo-img--ft{height:40px}}

/* ============ TƯ LIỆU FEED ============ */
.tl-filter{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.tl-chip{font-family:"Lexend",sans-serif;font-weight:600;font-size:13px;padding:8px 18px;border-radius:30px;border:1px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer;transition:.25s}
.tl-chip:hover{border-color:var(--pp-300)}
.tl-chip.on{background:var(--grad);color:#fff;border-color:transparent}
.proj .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proj .ph .tl-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(16,5,35,.25);transition:.3s}
.proj:hover .ph .tl-play{background:rgba(16,5,35,.08)}
.proj .ph .tl-play svg{width:58px;height:58px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45))}
.proj.tl-click{cursor:pointer}
.proj .bd .src{margin-top:auto;padding-top:14px;font-size:12px;font-weight:700;color:var(--pp-600);text-transform:uppercase;letter-spacing:.03em}
.proj .ph .tl-src-ph{font-family:"Lexend",sans-serif;font-weight:800;font-size:21px;line-height:1.18;letter-spacing:-.02em;color:#fff;text-align:center;padding:0 18px;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.proj .ph .tl-src-ph small{display:block;font-size:11px;font-weight:600;opacity:.8;margin-top:8px;letter-spacing:.08em}
.tl-state{text-align:center;color:var(--muted);font-size:13.5px;margin-top:24px}
.tl-lb{position:fixed;inset:0;z-index:3000;background:rgba(10,4,24,.88);backdrop-filter:blur(6px);display:none;place-items:center;padding:20px}
.tl-lb.open{display:grid}
.tl-lb-inner{width:min(960px,94vw)}
.tl-lb-inner iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;display:block}
.tl-lb-inner img{width:100%;max-height:86vh;object-fit:contain;border-radius:14px;display:block}
.tl-lb-x{position:fixed;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:20px;cursor:pointer;z-index:3001}
.tl-lb-x:hover{background:rgba(255,255,255,.3)}

/* ===== ẢNH GIAO DIỆN (upload qua Admin) ===== */
.hero-photo{position:absolute;inset:0;border-radius:24px;background-size:cover;background-position:center;display:none;z-index:6;box-shadow:0 40px 90px -30px rgba(68,28,149,.6)}
.hero-photo.has-img{display:block}
.sol-photo{display:none}
.sol-photo.has-img{display:block;position:relative;height:168px;margin:-6px -6px 22px;border-radius:16px;background-size:cover;background-position:center;border:1px solid rgba(124,58,237,.16);box-shadow:0 16px 32px -20px rgba(68,28,149,.55);transition:.4s}
.sol-photo.has-img::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 -34px 40px -28px rgba(16,5,35,.5);border:1px solid rgba(255,255,255,.14);pointer-events:none}
.sol:hover .sol-photo.has-img,.card.sol:hover .sol-photo.has-img{transform:translateY(-2px);box-shadow:0 22px 42px -20px rgba(68,28,149,.62)}
.about-photo{display:none}
.about-photo.has-img{display:block;width:100%;aspect-ratio:16/9;border-radius:18px;background-size:cover;background-position:center;margin-bottom:24px;box-shadow:0 24px 60px -30px rgba(68,28,149,.5)}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.gal-grid .gcell{aspect-ratio:4/3;border-radius:14px;background-size:cover;background-position:center;cursor:pointer;transition:.3s;box-shadow:var(--sh-sm)}
.gal-grid .gcell:hover{transform:translateY(-4px);box-shadow:var(--sh)}
@media(max-width:760px){.gal-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== TÁCH SECTION TƯ LIỆU ===== */
.tl-sec+.tl-sec{margin-top:64px}
.press-list{max-width:880px;margin:26px auto 0;border-top:1px solid var(--line)}
.press-item{display:flex;gap:18px;align-items:center;padding:18px 6px;border-bottom:1px solid var(--line);transition:.2s;color:inherit}
.press-item:hover{background:var(--paper-2)}
.press-item .pth{width:104px;height:66px;border-radius:10px;object-fit:cover;flex:none;background:linear-gradient(135deg,#451c95,#df2f86)}
.press-item .pbody{flex:1;min-width:0}
.press-item .pbody h3{font-size:16px;font-weight:700;line-height:1.35;margin:0}
.press-item .psrc{font-size:12px;font-weight:700;color:var(--pp-600);text-transform:uppercase;letter-spacing:.03em;margin-top:6px}
.press-item .parrow{flex:none;color:var(--pp);transition:.2s;display:flex}
.press-item:hover .parrow{transform:translateX(4px)}
@media(max-width:560px){.press-item{gap:12px;padding:14px 2px}.press-item .pth{width:72px;height:52px}.press-item .parrow{display:none}}

/* ===== NEWS CARDS (kiểu Nexta) ===== */
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:.35s;box-shadow:var(--sh-sm);height:100%;color:inherit}
.news-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.news-card .nc-thumb{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#f3eefb;display:grid;place-items:center}
.news-card .nc-thumb.noimg{position:relative;overflow:hidden}
.news-card .nc-thumb.noimg .nc-ph-hex{position:absolute;inset:0;width:100%;height:100%;color:#fff;opacity:.13}
.news-card .nc-thumb.noimg .nc-ph-ic{width:52px;height:52px;color:rgba(255,255,255,.9);position:relative;z-index:2}
.news-card .nc-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.news-card .nc-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--pp-600)}
.news-card h3{font-size:17px;font-weight:700;line-height:1.36;margin:11px 0 0;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card .nc-ex{font-size:13.5px;color:var(--slate);line-height:1.6;margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card .nc-date{margin-top:auto;padding-top:16px;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
@media(max-width:560px){#gridBao{grid-template-columns:1fr}}
/* ===== TIN KHÁC (không ảnh: tiêu đề + mô tả) ===== */
.nm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.nm-grid:empty{display:none}
.nm-item{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:3px solid var(--pp);border-radius:12px;padding:16px 18px;transition:.25s;color:inherit}
.nm-item:hover{box-shadow:var(--sh-sm);transform:translateY(-2px)}
.nm-item .nm-body{flex:1;min-width:0}
.nm-tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--pp-600)}
.nm-item h3{font-size:15.5px;font-weight:700;line-height:1.36;margin:8px 0 0;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nm-ex{font-size:13px;color:var(--slate);line-height:1.55;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nm-meta{margin-top:10px}
.nm-date{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.nm-arrow{flex:none;color:var(--pp);display:flex;margin-top:2px;transition:.2s}
.nm-item:hover .nm-arrow{transform:translateX(3px)}
@media(max-width:700px){.nm-grid{grid-template-columns:1fr}}
/* ===== VIDEO CAROUSEL ===== */
.vid-carousel{display:flex;align-items:center;gap:14px;max-width:760px;margin:28px auto 0}
.vc-stage{flex:1;min-width:0}
.vc-arrow{width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--pp);font-size:26px;line-height:1;cursor:pointer;flex:none;box-shadow:var(--sh-sm);transition:.2s;display:grid;place-items:center}
.vc-arrow:hover{background:var(--grad);color:#fff;border-color:transparent;transform:scale(1.06)}
.vc-dots{display:flex;gap:8px;justify-content:center;margin-top:20px}
.vc-dots .dot{width:9px;height:9px;border-radius:50%;background:var(--line);cursor:pointer;transition:.25s;border:0;padding:0}
.vc-dots .dot.on{background:var(--grad);width:24px;border-radius:5px}
@media(max-width:560px){.vc-arrow{width:40px;height:40px;font-size:22px}.vid-carousel{gap:8px}}

/* ==========================================================================
   LEARN TO LEAP UI/UX POLISH & ACCURACY
   ========================================================================== */

/* 1. Hide unwanted Neotech theme wrappers */
.breadcrumb-wrap, 
.site-content > .col-fluid > .woocommerce,
#page-title-bar {
  display: none !important;
}

/* 2. Seamless Header integration */
#masthead {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(16, 5, 35, 0.88) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.3s ease;
}

#masthead a {
  color: #fff !important;
  font-family: 'Lexend', sans-serif !important;
  font-weight: 500;
}

#masthead .sub-menu {
  background: #ffffff !important;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.15);
  border: 1px solid var(--line);
}

#masthead .sub-menu a {
  color: #180e2e !important;
  font-size: 14px;
}

#masthead .sub-menu a:hover {
  color: var(--pp) !important;
  background: var(--paper-2);
}

/* Adjust page top padding for fixed header */
body {
  padding-top: 0 !important;
}

#content {
  padding: 0 !important;
  margin: 0 !important;
}

/* 3. Hero Section Typography & Visual Polish */
.hero {
  padding-top: 140px !important;
}

.hero h1, .hero h2, .hero h3 {
  color: #ffffff !important;
  font-family: 'Lexend', sans-serif !important;
}

.hero h1 .gt {
  background: linear-gradient(95deg, #c9a6ff 0%, #ff7a9b 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.hero p.sub {
  color: #cdc2e8 !important;
}

/* 4. Dark & Lab Sections Contrast */
.dark, .dark .wrap, .sp.dark {
  background: radial-gradient(120% 100% at 50% 0%, #241050 0%, #160a30 60%, #120627 100%) !important;
  color: #ffffff !important;
}

.dark h1, .dark h2, .dark h3, .sp.dark h2, .sp.dark h3 {
  color: #ffffff !important;
  font-family: 'Lexend', sans-serif !important;
}

.dark p, .dark .lead, .sp.dark .lead {
  color: #c7bce4 !important;
}

.lab, .sp.lab {
  background: linear-gradient(160deg, #1b0b38, #2a1059 55%, #3d1568) !important;
  color: #ffffff !important;
}

.lab h2, .lab h3 {
  color: #ffffff !important;
}

.lab p {
  color: #d9c8ff !important;
}

/* 5. Light Sections Typography */
.sp h2, .sp h3 {
  color: var(--ink) !important;
  font-family: 'Lexend', sans-serif !important;
}

.sp .lead, .sp p {
  color: var(--slate);
}

/* 6. CTA Band Polish */
.cta-band {
  background: linear-gradient(115deg, #7c3aed 0%, #9b2bc0 42%, #df2f86 74%, #ff6a7f 100%) !important;
  color: #ffffff !important;
  border-radius: 24px;
}

.cta-band h2, .cta-band h3 {
  color: #ffffff !important;
}

.cta-band p {
  color: #f3eefb !important;
}

.cta-card {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  backdrop-filter: blur(10px);
}

/* 7. Buttons Polish */
.btn.primary {
  background: linear-gradient(115deg, #7c3aed 0%, #df2f86 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 20px rgba(223, 47, 134, 0.35) !important;
  transition: all 0.3s ease !important;
}

.btn.primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(223, 47, 134, 0.5) !important;
}

.btn.ghost {
  border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 50px !important;
  transition: all 0.3s ease !important;
}

.btn.ghost:hover {
  background: rgba(255, 255, 255, 0.15) !important;
}

/* 8. Cards & Features */
.sol-card, .feat-card, .proc-step, .val-card {
  border-radius: var(--r) !important;
  transition: all 0.3s ease !important;
}

.sol-card:hover, .feat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh) !important;
}

/* Always ensure .reveal elements are fully visible and not hidden by opacity:0 */
.reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* Clean Header Menu Layout */
#masthead .elementor-element-cb73eb8 {
  display: flex !important;
  align-items: center !important;
}

#masthead ul.menu {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
}

#masthead ul.menu > li > a {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  transition: color 0.2s ease !important;
}

#masthead ul.menu > li:hover > a {
  color: #c9a6ff !important;
}

/* Sticky dark header for all pages with no overlap */
#masthead {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #120627 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#masthead a {
  color: #ffffff !important;
}

#masthead .sub-menu a {
  color: #180e2e !important;
}

/* Hide WooCommerce mobile bottom navigation bar */
.neotech-handheld-footer-bar,
nav.neotech-handheld-footer-bar,
/* .footer-width-fixer removed */ {
  display: none !important;
}

/* Ensure subpages hero heads are properly padded and styled */
.sec-head h1, .sec-head h2 {
  font-family: 'Lexend', sans-serif !important;
}

/* Counter numbers styling */
.num {
  font-family: 'Lexend', sans-serif !important;
  font-weight: 800 !important;
  background: var(--grad-t) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Sticky dark header for all pages with no overlap */
#masthead {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #120627 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#masthead a {
  color: #ffffff !important;
}

#masthead .sub-menu a {
  color: #180e2e !important;
}

/* Hide WooCommerce mobile bottom navigation bar */
.neotech-handheld-footer-bar,
nav.neotech-handheld-footer-bar,
/* .footer-width-fixer removed */ {
  display: none !important;
}

/* Ensure subpages hero heads are properly padded and styled */
.sec-head h1, .sec-head h2 {
  font-family: 'Lexend', sans-serif !important;
}

/* Counter numbers styling */
.num {
  font-family: 'Lexend', sans-serif !important;
  font-weight: 800 !important;
  background: var(--grad-t) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Sticky dark header for all pages with no overlap */
#masthead {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #120627 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#masthead a {
  color: #ffffff !important;
}

#masthead .sub-menu a {
  color: #180e2e !important;
}

/* Hide WooCommerce mobile bottom navigation bar */
.neotech-handheld-footer-bar,
nav.neotech-handheld-footer-bar,
/* .footer-width-fixer removed */ {
  display: none !important;
}

/* Ensure subpages hero heads are properly padded and styled */
.sec-head h1, .sec-head h2 {
  font-family: 'Lexend', sans-serif !important;
}

/* Explicit white headings for hero & phero */
.hero h1,
.phero h1,
.phero .crumb,
.phero .crumb a,
.phero .crumb span {
  color: #ffffff !important;
}

.phero p {
  color: #cdc2e8 !important;
}

/* Counter numbers styling */
.num {
  font-family: 'Lexend', sans-serif !important;
  font-weight: 800 !important;
  background: var(--grad-t) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}


/* Sticky dark header for all pages with no overlap */
#masthead {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #120627 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#masthead a {
  color: #ffffff !important;
}

#masthead .sub-menu a {
  color: #180e2e !important;
}

/* Hide WooCommerce mobile bottom navigation bar */
.neotech-handheld-footer-bar,
nav.neotech-handheld-footer-bar,
/* .footer-width-fixer removed */ {
  display: none !important;
}

/* Ensure subpages hero heads are properly padded and styled */
.sec-head h1, .sec-head h2 {
  font-family: 'Lexend', sans-serif !important;
}

/* Explicit white headings for hero & phero */
.hero h1,
.phero h1,
.phero .crumb,
.phero .crumb a,
.phero .crumb span {
  color: #ffffff !important;
}

.phero p {
  color: #cdc2e8 !important;
}

/* Counter numbers styling */
.num {
  font-family: 'Lexend', sans-serif !important;
  font-weight: 800 !important;
  background: var(--grad-t) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Mobile burger & full drawer styles */
.burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px;
  z-index: 100000;
  margin-left: 12px;
}
.burger span {
  width: 24px;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transition: 0.3s;
}
@media (max-width: 991px) {
  .burger {
    display: flex !important;
  }
}
.mob {
  display: none;
}
.mob.open {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: rgba(14, 7, 37, 0.98) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  padding: 90px 24px 40px !important;
  overflow-y: auto !important;
}
.mob ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.mob a {
  display: block !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  text-decoration: none !important;
}
.mob a:hover {
  color: #c084fc !important;
}
.mob .mob-btn {
  margin-top: 24px !important;
  display: block !important;
  text-align: center !important;
  background: linear-gradient(135deg, #7c3aed, #df2f86) !important;
  color: #ffffff !important;
  padding: 14px 20px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  border: none !important;
}


/* Sticky dark header for all pages with no overlap */
#masthead {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #120627 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#masthead a {
  color: #ffffff !important;
}

#masthead .sub-menu a {
  color: #180e2e !important;
}

/* Hide WooCommerce mobile bottom navigation bar */
.neotech-handheld-footer-bar,
nav.neotech-handheld-footer-bar,
/* .footer-width-fixer removed */ {
  display: none !important;
}

/* Ensure subpages hero heads are properly padded and styled */
.sec-head h1, .sec-head h2 {
  font-family: 'Lexend', sans-serif !important;
}

/* Explicit white headings for hero & phero */
.hero h1,
.phero h1,
.phero .crumb,
.phero .crumb a,
.phero .crumb span {
  color: #ffffff !important;
}

.phero p {
  color: #cdc2e8 !important;
}

/* Counter numbers styling */
.num {
  font-family: 'Lexend', sans-serif !important;
  font-weight: 800 !important;
  background: var(--grad-t) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Mobile burger & full drawer styles */
.burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px;
  z-index: 100000;
  margin-left: 12px;
}
.burger span {
  width: 24px;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transition: 0.3s;
}
@media (max-width: 991px) {
  .burger {
    display: flex !important;
    margin-left: auto !important;
  }
  #masthead .elementor-container,
  #masthead .elementor-element-050ac05 {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    padding: 12px 20px !important;
  }
  #masthead .elementor-widget-site-logo {
    width: auto !important;
    max-width: 160px !important;
  }
  #masthead .elementor-widget-site-logo img {
    max-width: 150px !important;
    height: auto !important;
  }
  #masthead .elementor-widget-button {
    display: none !important;
  }
}

.mob {
  display: none;
}
.mob.open {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: rgba(14, 7, 37, 0.98) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  padding: 90px 24px 40px !important;
  overflow-y: auto !important;
}
.mob ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.mob a {
  display: block !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  text-decoration: none !important;
}
.mob a:hover {
  color: #c084fc !important;
}
.mob .mob-btn {
  margin-top: 24px !important;
  display: block !important;
  text-align: center !important;
  background: linear-gradient(135deg, #7c3aed, #df2f86) !important;
  color: #ffffff !important;
  padding: 14px 20px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  border: none !important;
}



/* ========================================================
   RICH LEARN TO LEAP DESIGN SYSTEM (ELEMENTOR POLISH)
   ======================================================== */

.gt, .gradient-text {
  background: linear-gradient(95deg, #df2f86, #ff6a7f) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
  display: inline !important;
}

/* Atmospheric Hero Glows */
.hero-custom-container {
  position: relative !important;
  background: radial-gradient(120% 90% at 80% -10%, #3d1580 0%, #1b0b38 45%, #120627 100%) !important;
  overflow: hidden !important;
}

.hero-glow-1 {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.3), transparent 70%);
  filter: blur(80px);
  top: -100px;
  left: -100px;
  pointer-events: none;
  z-index: 1;
}

.hero-glow-2 {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(223, 47, 134, 0.25), transparent 70%);
  filter: blur(80px);
  top: 100px;
  right: -50px;
  pointer-events: none;
  z-index: 1;
}

/* Floating Stats Bar */
.stats-floating-bar {
  background: #ffffff !important;
  border-radius: 24px !important;
  border: 1px solid rgba(124, 58, 237, 0.1) !important;
  box-shadow: 0 20px 48px rgba(18, 6, 39, 0.08) !important;
}

.stats-col-divider {
  border-right: 1px solid rgba(22, 11, 39, 0.06);
}
@media (max-width: 767px) {
  .stats-col-divider {
    border-right: none;
    border-bottom: 1px solid rgba(22, 11, 39, 0.06);
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
}

.stat-gradient-num {
  font-family: 'Lexend', sans-serif !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  background: linear-gradient(135deg, #7c3aed, #df2f86) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
}

/* 3 Root Strengths */
.rs-card {
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid rgba(124, 58, 237, 0.1) !important;
  border-radius: 20px !important;
  padding: 32px 26px !important;
  transition: all 0.35s ease !important;
  overflow: hidden !important;
}
.rs-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #7c3aed, #df2f86);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
.rs-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px -15px rgba(124, 58, 237, 0.15) !important;
  border-color: rgba(124, 58, 237, 0.25) !important;
}
.rs-card:hover::before {
  transform: scaleX(1);
}

/* Solutions Cards */
.sol-card {
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 26px 22px !important;
  transition: all 0.35s ease !important;
}
.sol-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px -12px rgba(124, 58, 237, 0.18) !important;
  border-color: rgba(124, 58, 237, 0.3) !important;
}
.sol-card .s-num {
  font-family: 'Lexend', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #cbd5e1;
  transition: color 0.3s ease;
}
.sol-card:hover .s-num {
  color: #7c3aed;
}

/* Dark Competency Cards */
.pcard-custom {
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 16px !important;
  padding: 22px 20px !important;
  transition: all 0.35s ease !important;
  backdrop-filter: blur(8px);
}
.pcard-custom:hover {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(223, 47, 134, 0.45) !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4) !important;
}

/* Gold Award Cards */
.gold-card-custom {
  background: #ffffff !important;
  border: 1px solid #fef3c7 !important;
  border-top: 3.5px solid #eab308 !important;
  border-radius: 18px !important;
  padding: 28px 20px !important;
  text-align: center !important;
  transition: all 0.35s ease !important;
  box-shadow: 0 10px 30px rgba(234, 179, 8, 0.07) !important;
}
.gold-card-custom:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px -12px rgba(234, 179, 8, 0.22) !important;
}

/* Buttons */
.btn-primary-gradient {
  background: linear-gradient(135deg, #7c3aed 0%, #df2f86 100%) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 30px -12px rgba(223, 47, 134, 0.6) !important;
  transition: all 0.3s ease !important;
  font-weight: 700 !important;
}
.btn-primary-gradient:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 40px -10px rgba(223, 47, 134, 0.75) !important;
}

.btn-ghost-outline {
  background: #ffffff !important;
  color: #160b27 !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 999px !important;
  transition: all 0.3s ease !important;
  font-weight: 600 !important;
}
.btn-ghost-outline:hover {
  border-color: #7c3aed !important;
  color: #7c3aed !important;
  transform: translateY(-2px) !important;
}


/* ========================================================
   BULLETPROOF COMPONENT POLISH (PERFECT 1:1 REPLICATION)
   ======================================================== */

/* 1. Gradient Text */
.gradient-text,
.gt,
span.gradient-text,
span.gt {
  background: linear-gradient(95deg, #df2f86 0%, #ff6a7f 100%) !important;
  background-image: linear-gradient(95deg, #df2f86 0%, #ff6a7f 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  display: inline !important;
}

/* 2. Three Root Strengths Icons */
.rs-icon-1 {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #7c3aed, #9b2bc0) !important;
  display: grid;
  place-items: center;
  color: #ffffff !important;
  margin-bottom: 16px;
  box-shadow: 0 8px 20px -6px rgba(124, 58, 237, 0.5);
}
.rs-icon-2 {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #df2f86, #ff6a7f) !important;
  display: grid;
  place-items: center;
  color: #ffffff !important;
  margin-bottom: 16px;
  box-shadow: 0 8px 20px -6px rgba(223, 47, 134, 0.5);
}
.rs-icon-3 {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #6429c9, #7c3aed) !important;
  display: grid;
  place-items: center;
  color: #ffffff !important;
  margin-bottom: 16px;
  box-shadow: 0 8px 20px -6px rgba(100, 41, 201, 0.5);
}

/* 3. Reset Button Wrappers */
.btn-ghost-outline,
.btn-primary-gradient,
.btn-cta-white,
.btn-cta-glass {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}
.btn-ghost-outline .elementor-widget-container,
.btn-primary-gradient .elementor-widget-container,
.btn-cta-white .elementor-widget-container,
.btn-cta-glass .elementor-widget-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.btn-ghost-outline .elementor-button-wrapper,
.btn-primary-gradient .elementor-button-wrapper,
.btn-cta-white .elementor-button-wrapper,
.btn-cta-glass .elementor-button-wrapper {
  display: inline-block !important;
}

/* 4. Ghost Outline Button (About Us & Awards) */
html body .elementor .btn-ghost-outline .elementor-button,
.btn-ghost-outline .elementor-button {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #180e2e !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 60px !important;
  padding: 13px 26px !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: 0 4px 14px rgba(18, 6, 39, 0.05) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  text-decoration: none !important;
}
html body .elementor .btn-ghost-outline .elementor-button .elementor-button-text,
.btn-ghost-outline .elementor-button .elementor-button-text {
  color: #180e2e !important;
  font-family: 'Lexend', sans-serif !important;
  font-weight: 600 !important;
  text-transform: none !important;
}
html body .elementor .btn-ghost-outline .elementor-button:hover,
.btn-ghost-outline .elementor-button:hover {
  border-color: #7c3aed !important;
  color: #7c3aed !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(124, 58, 237, 0.15) !important;
}
html body .elementor .btn-ghost-outline .elementor-button:hover .elementor-button-text,
.btn-ghost-outline .elementor-button:hover .elementor-button-text {
  color: #7c3aed !important;
}

/* 5. Primary Gradient Button */
html body .elementor .btn-primary-gradient .elementor-button,
.btn-primary-gradient .elementor-button {
  background: linear-gradient(115deg, #7c3aed 0%, #9b2bc0 42%, #df2f86 74%, #ff6a7f 100%) !important;
  background-image: linear-gradient(115deg, #7c3aed 0%, #9b2bc0 42%, #df2f86 74%, #ff6a7f 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 60px !important;
  padding: 14px 28px !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: 0 10px 24px -6px rgba(223, 47, 134, 0.45) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
}
html body .elementor .btn-primary-gradient .elementor-button .elementor-button-text,
.btn-primary-gradient .elementor-button .elementor-button-text {
  color: #ffffff !important;
  font-family: 'Lexend', sans-serif !important;
  font-weight: 600 !important;
  text-transform: none !important;
}
html body .elementor .btn-primary-gradient .elementor-button:hover,
.btn-primary-gradient .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px -6px rgba(223, 47, 134, 0.65) !important;
}

/* 6. CTA Glass Button */
html body .elementor .btn-cta-glass .elementor-button,
.btn-cta-glass .elementor-button {
  background: rgba(255, 255, 255, 0.08) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 60px !important;
  padding: 14px 28px !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
}
html body .elementor .btn-cta-glass .elementor-button .elementor-button-text,
.btn-cta-glass .elementor-button .elementor-button-text {
  color: #ffffff !important;
  font-family: 'Lexend', sans-serif !important;
  font-weight: 600 !important;
  text-transform: none !important;
}
html body .elementor .btn-cta-glass .elementor-button:hover,
.btn-cta-glass .elementor-button:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  transform: translateY(-2px) !important;
}

/* 7. CTA Band Section Styling */
.cta-band-section {
  background: radial-gradient(110% 100% at 15% 0%, #3d1580, #1b0b38 55%, #120627) !important;
}

/* 8. Fix Heading Global Overrides */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Lexend', sans-serif !important;
}


/* ========================================================
   GLOBAL FOOTER STYLING (1:1 REPLICATION)
   ======================================================== */
.footer-width-fixer {
  display: block !important;
  width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#colophon {
  display: block !important;
  width: 100% !important;
  background: #0d0420 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.site-footer-custom {
  background: #0d0420 !important;
  color: #bdb2da !important;
}
.ft-about-col p,
.ft-col-links a,
.ft-contact-col p,
.ft-contact-col a {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: #a89fc8 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}
.ft-col-links a:hover,
.ft-contact-col a:hover {
  color: #df2f86 !important;
}
.ft-col-links a {
  display: block !important;
  margin-bottom: 11px !important;
}
.ft-soc {
  display: flex !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
.ft-soc a {
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: grid !important;
  place-items: center !important;
  color: #cdc2e8 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}
.ft-soc a:hover {
  background: linear-gradient(95deg, #df2f86 0%, #ff6a7f 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  transform: translateY(-2px) !important;
}
.ft-soc svg {
  width: 18px !important;
  height: 18px !important;
}

/* ========================================================
   HEADER & FOOTER 1:1 POLISH (PERFECT LEARN TO LEAP STANDARD)
   ======================================================== */

/* 1. Universal Fixed Dark Header */
#masthead,
header#masthead,
.ehf-header header,
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #120627 !important;
  backdrop-filter: saturate(180%) blur(16px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  z-index: 99999 !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.45) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* Admin Bar Fix for Logged-in Users - 100% Consistent on All Pages */
body.admin-bar #masthead,
body.admin-bar header#masthead,
body.admin-bar .ehf-header header,
body.admin-bar .site-header {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar #masthead,
  body.admin-bar header#masthead,
  body.admin-bar .ehf-header header,
  body.admin-bar .site-header {
    top: 46px !important;
  }
}

/* Hide breadcrumb wrap to eliminate layout shifts or overlap */
.breadcrumb-wrap {
  display: none !important;
}

/* Standardize Header Elementor Container Across Homepage & All Subpages */
.elementor-53,
#masthead .elementor-53 {
  background: transparent !important;
  width: 100% !important;
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
}

/* Neutralize and override .header-absolute & .home .header-absolute */
.elementor-53 .elementor-element-050ac05,
#masthead .header-absolute,
.home #masthead .header-absolute,
body.admin-bar #masthead .header-absolute,
body.admin-bar .header-absolute {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  margin: 0 !important;
  padding: 0 40px !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

.elementor-53 .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1360px !important;
  width: 100% !important;
  height: 80px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Logo: height 40px, vertically centered */
.elementor-53 .elementor-widget-site-logo {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.elementor-53 .elementor-widget-site-logo img {
  height: 40px !important;
  max-height: 42px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

/* Nav Menu Container: centered vertically & horizontally */
.elementor-53 .elementor-element-73ad497 {
  flex: 1 1 auto !important;
  width: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-53 .elementor-widget-neotech-nav-menu,
.elementor-53 .elementor-widget-neotech-nav-menu nav,
.elementor-53 .elementor-widget-neotech-nav-menu .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Nav Menu Items: single line, no wrap, no break, beautiful typography */
.elementor-53 .elementor-widget-neotech-nav-menu ul.menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}

.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  height: 80px !important;
}

.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li > a {
  font-family: "Lexend", "Be Vietnam Pro", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: #efe7ff !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  padding: 8px 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  line-height: 1.4 !important;
}

.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li > a:hover {
  color: #ffffff !important;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.45) !important;
}

/* Active Menu Item with Gradient Underline */
.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li.current-menu-item > a,
.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li.current-page-ancestor > a,
.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li.current_page_item > a {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li.current-menu-item > a::after,
.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li.current-page-ancestor > a::after,
.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li.current_page_item > a::after {
  content: "" !important;
  position: absolute !important;
  bottom: 18px !important;
  left: 4px !important;
  right: 4px !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, #7c3aed, #df2f86) !important;
  border-radius: 999px !important;
}

/* Hide carets / arrows */
.elementor-53 .elementor-widget-neotech-nav-menu .caret,
.elementor-53 .elementor-widget-neotech-nav-menu .sub-arrow,
.elementor-53 .elementor-widget-neotech-nav-menu ul.menu > li > a::before {
  display: none !important;
}

/* Header CTA Button "HỢP TÁC NGAY →" */
.elementor-53 .elementor-element-ltl_cta_btn {
  flex: 0 0 auto !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-53 .elementor-element-ltl_cta_btn .elementor-button {
  white-space: nowrap !important;
  padding: 10px 22px !important;
  font-family: "Lexend", "Be Vietnam Pro", sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  border-radius: 999px !important;
  background: linear-gradient(95deg, #7c3aed 0%, #df2f86 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px -2px rgba(124, 58, 237, 0.45) !important;
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  text-decoration: none !important;
}

.elementor-53 .elementor-element-ltl_cta_btn .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px -2px rgba(223, 47, 134, 0.6) !important;
  background: linear-gradient(95deg, #8b46f0 0%, #eb3b92 100%) !important;
}

/* 2. Global Footer Grid (1:1 Matching Reference) */
.site-footer-custom {
  background: #0d0420 !important;
  color: #bdb2da !important;
  padding: 64px 24px 32px !important;
  width: 100% !important;
}
.site-footer-custom .e-con-inner {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
}
.ft-grid-row,
.ft-grid-row > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr !important;
  gap: 38px !important;
  width: 100% !important;
  align-items: start !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-bottom: 42px !important;
}
.ft-about-col,
.ft-menu-col,
.ft-contact-col {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.ft-menu-col h5,
.ft-contact-col h5 {
  font-family: "Lexend", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}
.ft-about-col p {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: #bdb2da !important;
  margin: 14px 0 20px !important;
  max-width: 34ch !important;
}
.ft-col-links a,
.ft-contact-col a,
.ft-contact-col p {
  font-size: 13.5px !important;
  color: #a89fc8 !important;
  margin-bottom: 11px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  display: block !important;
}
.ft-contact-col p {
  white-space: normal !important;
}
.ft-contact-col a {
  white-space: nowrap !important;
}
.ft-col-links a:hover,
.ft-contact-col a:hover {
  color: #df2f86 !important;
  padding-left: 2px;
}
.ft-soc {
  display: flex !important;
  gap: 10px !important;
  margin-top: 4px !important;
}
.ft-soc a {
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: grid !important;
  place-items: center !important;
  color: #cdc2e8 !important;
  transition: all 0.25s ease !important;
}
.ft-soc a:hover {
  background: linear-gradient(95deg, #df2f86 0%, #ff6a7f 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  transform: translateY(-2px) !important;
}
.ft-soc svg {
  width: 18px !important;
  height: 18px !important;
}
.ft-bottom-row,
.ft-bottom-row > .e-con-inner {
  padding-top: 24px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  font-size: 12px !important;
  color: #7a719c !important;
}
.ft-bottom-row .nq {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.ft-bottom-row .nq span {
  color: #a89fc8 !important;
}

@media (max-width: 991px) {
  .ft-grid-row,
  .ft-grid-row > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
  }
  .ft-about-col {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 576px) {
  .ft-grid-row,
  .ft-grid-row > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .ft-bottom-row,
  .ft-bottom-row > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}


/* ========================================================
   CLEAN & IMPRESSIVE MODERN HOMEPAGE (NO CHAPTERS, HIGH CLARITY)
   ======================================================== */

html {
  scroll-behavior: smooth !important;
}

/* 1. Pill Tag for Section Eyebrows */
.section-pill-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 16px !important;
  border-radius: 999px !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: rgba(124, 58, 237, 0.12) !important;
  border: 1px solid rgba(167, 139, 250, 0.3) !important;
  color: #ddd6fe !important;
  margin-bottom: 16px !important;
}

.section-pill-tag.light {
  background: rgba(124, 58, 237, 0.08) !important;
  border: 1px solid rgba(124, 58, 237, 0.2) !important;
  color: #7c3aed !important;
}

.section-pill-tag .pill-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #ff3b81 !important;
  box-shadow: 0 0 8px #ff3b81 !important;
  display: inline-block !important;
}

/* 2. Solutions 6-Card Grid Styling */
.solution-grid-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  backdrop-filter: blur(12px) !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.solution-grid-card:hover {
  transform: translateY(-6px) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(223, 47, 134, 0.4) !important;
  box-shadow: 0 20px 40px -15px rgba(223, 47, 134, 0.25) !important;
}

.solution-grid-card .sol-icon-wrap {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
  margin-bottom: 16px !important;
}

.solution-grid-card .sol-link-btn {
  margin-top: auto !important;
  padding-top: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Lexend', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #ff758c !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.solution-grid-card .sol-link-btn:hover {
  color: #ffffff !important;
  transform: translateX(4px) !important;
}

/* 3. Modern Editorial Quote Block */
.modern-quote-box {
  max-width: 860px !important;
  margin: 44px auto 0 !important;
  padding: 34px 40px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 240, 255, 0.85)) !important;
  border: 1px solid rgba(124, 58, 237, 0.18) !important;
  box-shadow: 0 16px 45px -15px rgba(124, 58, 237, 0.12) !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.modern-quote-box .quote-mark {
  font-family: Georgia, serif !important;
  font-size: 64px !important;
  line-height: 1 !important;
  color: #df2f86 !important;
  opacity: 0.25 !important;
  position: absolute !important;
  top: 14px !important;
  left: 20px !important;
  pointer-events: none !important;
}

.modern-quote-box .quote-text {
  font-family: 'Lexend', sans-serif !important;
  font-size: 17.5px !important;
  line-height: 1.7 !important;
  color: #1e113a !important;
  font-weight: 500 !important;
  font-style: italic !important;
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: 16px !important;
}

.modern-quote-box .quote-author-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  position: relative !important;
  z-index: 2 !important;
}

.modern-quote-box .quote-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #7c3aed, #df2f86) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.3) !important;
}

.modern-quote-box .author-name {
  font-family: 'Lexend', sans-serif !important;
  font-weight: 700 !important;
  color: #162339 !important;
  font-size: 14px !important;
}

.modern-quote-box .author-title {
  font-family: 'Lexend', sans-serif !important;
  color: #7c3aed !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
}

@media (max-width: 768px) {
  .modern-quote-box {
    padding: 24px 18px !important;
  }
  .modern-quote-box .quote-text {
    font-size: 15px !important;
  }
}

/* ==========================================================================
   ENHANCEMENT: HERO SECTION & CTA BAND POLISH (LEARN TO LEAP)
   ========================================================================== */

/* --- 1. HERO SECTION POLISH --- */
.elementor-element-4b3232f {
    background: #0b0319 !important;
    background-image: 
        radial-gradient(circle at 85% 25%, rgba(223, 47, 134, 0.28) 0%, transparent 45%),
        radial-gradient(circle at 15% 65%, rgba(124, 58, 237, 0.32) 0%, transparent 50%),
        radial-gradient(circle at 50% 10%, rgba(155, 43, 192, 0.2) 0%, transparent 40%) !important;
    position: relative !important;
    overflow: hidden !important;
    padding-top: 100px !important;
    padding-bottom: 120px !important;
}

/* Hero Eyebrow Badge */
.elementor-element-1161a3b .elementor-heading-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 20px !important;
    background: rgba(223, 47, 134, 0.15) !important;
    border: 1px solid rgba(223, 47, 134, 0.4) !important;
    color: #ff7a8c !important;
    border-radius: 999px !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    box-shadow: 0 0 25px rgba(223, 47, 134, 0.25) !important;
    margin-bottom: 22px !important;
}

/* Hero H1 Title */
.elementor-element-f433371 .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-weight: 800 !important;
    font-size: 52px !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 24px !important;
}

/* Hero Subtitle Description */
.elementor-element-549a159 p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    color: #c8c4e5 !important;
    max-width: 600px !important;
    margin-bottom: 32px !important;
}

/* Hero Buttons Row */
.elementor-element-4b3232f .elementor-element-a8882aa .e-con-inner > .e-con:last-child .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 18px !important;
    margin-top: 10px !important;
    flex-wrap: wrap !important;
}

/* Hero Primary Button: Khám phá giải pháp */
.elementor-element-46c59aa .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    padding: 0 34px !important;
    background: linear-gradient(115deg, #7c3aed 0%, #df2f86 100%) !important;
    color: #ffffff !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 10px 30px rgba(124, 58, 237, 0.45) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.elementor-element-46c59aa .elementor-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 38px rgba(223, 47, 134, 0.6) !important;
    color: #ffffff !important;
}

/* Hero Secondary Button: Năng lực & dấu ấn */
.elementor-element-9b740aa .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    padding: 0 30px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 999px !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.elementor-element-9b740aa .elementor-button:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
}

/* Hero Right Tech Graphic Card */
.elementor-element-9bc704a {
    position: relative !important;
}
.elementor-element-f3e5898 {
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 28px !important;
    padding: 48px 36px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    position: relative !important;
}
.elementor-element-f3e5898::before {
    content: '' !important;
    position: absolute !important;
    inset: -2px !important;
    border-radius: 30px !important;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.6), rgba(223, 47, 134, 0.6), transparent 70%) !important;
    z-index: -1 !important;
    opacity: 0.7 !important;
}
.elementor-element-f3e5898 .elementor-icon {
    font-size: 54px !important;
    color: #df2f86 !important;
    margin-bottom: 20px !important;
    filter: drop-shadow(0 0 20px rgba(223, 47, 134, 0.6)) !important;
    animation: pulseIcon 3s ease-in-out infinite alternate !important;
}
@keyframes pulseIcon {
    0% { transform: scale(1); filter: drop-shadow(0 0 15px rgba(223, 47, 134, 0.5)); }
    100% { transform: scale(1.08); filter: drop-shadow(0 0 30px rgba(255, 106, 127, 0.8)); }
}
.elementor-element-f3e5898 .elementor-icon-box-title span {
    font-family: 'Lexend', sans-serif !important;
    font-weight: 800 !important;
    font-size: 22px !important;
    letter-spacing: 0.08em !important;
    background: linear-gradient(95deg, #ffffff 0%, #ff7a8c 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
.elementor-element-f3e5898 .elementor-icon-box-description {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #d1ceee !important;
    margin-top: 10px !important;
}


/* --- 2. CTA BAND: SỬA LỖI NÚT BỊ LỆCH --- */
.elementor-element-0fd5691 {
    background: linear-gradient(115deg, #7c3aed 0%, #9b2bc0 42%, #df2f86 74%, #ff6a7f 100%) !important;
    border-radius: 28px !important;
    padding: 65px 40px !important;
    text-align: center !important;
    box-shadow: 0 25px 65px rgba(124, 58, 237, 0.35) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.elementor-element-001533e .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-weight: 800 !important;
    font-size: 38px !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
}

.elementor-element-5972d75 p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 17px !important;
    color: #ffffff !important;
    opacity: 0.95 !important;
    margin-bottom: 34px !important;
    line-height: 1.6 !important;
}

/* FIX CĂN THẲNG HÀNG 2 NÚT HOÀN HẢO */
.elementor-element-ecacacb {
    width: 100% !important;
    margin: 0 auto !important;
}

.elementor-element-ecacacb > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    width: auto !important;
    margin: 0 auto !important;
}

.elementor-element-f8c4fad,
.elementor-element-f5f2c60 {
    width: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Nút 1: Hợp tác cùng LtL → */
.elementor-element-f8c4fad .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    line-height: 50px !important;
    padding: 0 34px !important;
    background: #ffffff !important;
    color: #7c3aed !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}
.elementor-element-f8c4fad .elementor-button:hover {
    background: #fbf9ff !important;
    color: #6d28d9 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22) !important;
}

/* Nút 2: Gọi: 0777 308 883 */
.elementor-element-f5f2c60 .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    line-height: 46px !important;
    padding: 0 32px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    border: 2px solid rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}
.elementor-element-f5f2c60 .elementor-button:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
    .elementor-element-f433371 .elementor-heading-title {
        font-size: 34px !important;
    }
    .elementor-element-ecacacb > .e-con-inner {
        flex-direction: column !important;
        gap: 14px !important;
    }
    .elementor-element-f8c4fad .elementor-button,
    .elementor-element-f5f2c60 .elementor-button {
        width: 100% !important;
    }
}

/* HIDE OLD CARD IN HERO & DISPLAY 3D HEXAGON VISUAL */
.elementor-element-5b765bb .elementor-element-a6566cf {
    display: none !important;
}

/* HERO BUTTON 1: KHÁM PHÁ GIẢI PHÁP */
.elementor-element-6282e70 .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    padding: 0 34px !important;
    background: linear-gradient(115deg, #7c3aed 0%, #df2f86 100%) !important;
    color: #ffffff !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 10px 30px rgba(124, 58, 237, 0.45) !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.elementor-element-6282e70 .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 36px rgba(223, 47, 134, 0.6) !important;
    color: #ffffff !important;
}

/* HERO BUTTON 2: NĂNG LỰC & DẤU ẤN */
.elementor-element-1f393c0 .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    padding: 0 30px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 999px !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.elementor-element-1f393c0 .elementor-button:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}


/* ==========================================================================
   GLOBAL DARK SECTIONS & CTA BAND TYPOGRAPHY FIX (GUARANTEED SPECIFICITY)
   ========================================================================== */
.cta-band, .sp.cta-band {
  background: radial-gradient(110% 100% at 15% 0%, #3d1580, #1b0b38 55%, #120627) !important;
  color: #ffffff !important;
}
.cta-band h1, .cta-band h2, .cta-band h3, .cta-band h4,
.sp.cta-band h1, .sp.cta-band h2, .sp.cta-band h3, .sp.cta-band h4,
.elementor-widget-text-editor .cta-band h2,
.elementor-widget-text-editor .sp.cta-band h2 {
  color: #ffffff !important;
}
.cta-band p, .cta-band .lead,
.sp.cta-band p, .sp.cta-band .lead,
.elementor-widget-text-editor .cta-band p,
.elementor-widget-text-editor .sp.cta-band p {
  color: #cdc2e8 !important;
}

.sp.dark, .dark, .sp.lab, .lab {
  color: #ffffff !important;
}
.sp.dark h1, .sp.dark h2, .sp.dark h3, .sp.dark h4, .sp.dark h5,
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5,
.sp.lab h1, .sp.lab h2, .sp.lab h3, .sp.lab h4, .sp.lab h5,
.lab h1, .lab h2, .lab h3, .lab h4, .lab h5,
.elementor-widget-text-editor .dark h2,
.elementor-widget-text-editor .sp.dark h2,
.elementor-widget-text-editor .sp.lab h2 {
  color: #ffffff !important;
}
.sp.dark p, .dark p, .sp.lab p, .lab p,
.sp.dark .lead, .dark .lead, .sp.lab .lead, .lab .lead {
  color: #d1c4e9 !important;
}
.sp.dark .aw h4, .dark .aw h4,
.sp.lab .fi-text h4, .lab .fi-text h4,
.sp.lab .smod-card h4, .lab .smod-card h4 {
  color: #ffffff !important;
}
.sp.dark .aw p, .dark .aw p,
.sp.lab .fi-text p, .lab .fi-text p {
  color: #bfaedc !important;
}

/* ==========================================================================
   HOMEPAGE (POST 21) COMPLETE PIXEL-PERFECT STYLING TO MATCH TARGET SITE
   ========================================================================== */

/* 0. GLOBAL PAGE BASE ON HOMEPAGE */
body.home.elementor-page-21 {
    background-color: #ffffff !important;
}

/* 1. HERO SECTION (.elementor-element-4b3232f) */
.elementor-element-4b3232f {
    background: radial-gradient(120% 90% at 80% -10%, #3d1580 0%, #1b0b38 45%, #120627 100%) !important;
    position: relative !important;
    overflow: hidden !important;
    padding-top: 110px !important;
    padding-bottom: 90px !important;
}
.elementor-element-4b3232f::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(124, 58, 237, 0.28) 0%, rgba(223, 47, 134, 0.12) 40%, transparent 70%);
    top: -150px;
    right: -100px;
    pointer-events: none;
    z-index: 1;
}
.elementor-element-4b3232f::after {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(223, 47, 134, 0.22) 0%, transparent 70%);
    bottom: -100px;
    left: -50px;
    pointer-events: none;
    z-index: 1;
}
.elementor-element-4b3232f > .e-con-inner {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    align-items: center !important;
}

/* Hero Eyebrow (.elementor-element-1161a3b) */
.elementor-element-1161a3b {
    margin-bottom: 14px !important;
}
.elementor-element-1161a3b .elementor-heading-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #d9c8ff !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}
.elementor-element-1161a3b .elementor-heading-title::before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(95deg, #a855f7 0%, #ec4899 100%);
}

/* Hero H1 Title (.elementor-element-f433371) */
.elementor-element-f433371 .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(34px, 4.2vw, 56px) !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.025em !important;
    color: #ffffff !important;
    text-transform: none !important;
    margin-bottom: 18px !important;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Hero Lead Paragraph (.elementor-element-4f00fad) */
.elementor-element-4f00fad p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 16.5px !important;
    line-height: 1.68 !important;
    color: rgba(255, 255, 255, 0.78) !important;
    max-width: 580px !important;
    margin-bottom: 28px !important;
}

/* Hero CTA Button (.elementor-element-6282e70) */
.elementor-element-6282e70 {
    margin-top: 10px !important;
}
.elementor-element-6282e70 .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    height: 52px !important;
    padding: 0 32px !important;
    background: linear-gradient(115deg, #7c3aed 0%, #df2f86 100%) !important;
    background-size: 150% 150% !important;
    color: #ffffff !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 12px 30px -6px rgba(223, 47, 134, 0.55) !important;
    letter-spacing: 0.03em !important;
    transition: all 0.35s ease !important;
}
.elementor-element-6282e70 .elementor-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 40px -6px rgba(223, 47, 134, 0.75) !important;
    color: #ffffff !important;
}

/* Hero Featured Image (.elementor-element-hero_featured_img) */
.elementor-element-hero_featured_img {
    text-align: center !important;
}
.elementor-element-hero_featured_img img {
    border-radius: 26px !important;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.14) !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}
.elementor-element-hero_featured_img img:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 30px 70px -12px rgba(124, 58, 237, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.25) !important;
}

/* 2. STATS / COUNTERS FLOATING BAR (.elementor-element-c378dba) */
.elementor-element-c378dba {
    background: transparent !important;
    padding: 0 20px !important;
    margin-top: -48px !important;
    position: relative !important;
    z-index: 20 !important;
}
.elementor-element-c378dba > .e-con-inner {
    background: #ffffff !important;
    border-radius: 26px !important;
    box-shadow: 0 18px 50px -20px rgba(68, 28, 149, 0.32) !important;
    border: 1px solid #ece6f6 !important;
    padding: 26px 16px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}
.elementor-element-c378dba .elementor-widget-counter {
    flex: 1 1 0 !important;
    text-align: center !important;
    padding: 6px 12px !important;
    position: relative !important;
    border-right: 1px solid #ece6f6 !important;
}
.elementor-element-c378dba .elementor-widget-counter:last-child {
    border-right: none !important;
}
.elementor-element-c378dba .elementor-counter-number-wrapper {
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    margin-bottom: 4px !important;
}
.elementor-element-c378dba .elementor-counter-number,
.elementor-element-c378dba .elementor-counter-number-suffix {
    font-family: 'Lexend', sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    background: linear-gradient(95deg, #8b46f0 0%, #df2f86 55%, #ff7a8c 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
.elementor-element-c378dba .elementor-counter-number-suffix {
    font-size: 32px !important;
    margin-left: 2px !important;
}
.elementor-element-c378dba .elementor-counter-title {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #675f82 !important;
    line-height: 1.35 !important;
    margin-top: 4px !important;
}

/* 3. MISSION SECTION (.elementor-element-3e86dee) */
.elementor-element-3e86dee {
    background: #ffffff !important;
    padding: 100px 20px 80px !important;
    position: relative !important;
}
.elementor-element-3e86dee > .e-con-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    align-items: center !important;
}
.elementor-element-3e86dee iframe,
.elementor-element-3e86dee .e-youtube-base {
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 16px 45px -12px rgba(68, 28, 149, 0.2) !important;
    border: 1px solid #ece6f6 !important;
}
.elementor-element-3e86dee h2,
.elementor-element-3e86dee .elementor-heading-title,
.elementor-element-d8ae1e9 {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(26px, 3.4vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #180e2e !important;
    margin-bottom: 18px !important;
}
.elementor-element-3e86dee h2::before,
.elementor-element-d8ae1e9::before {
    content: "— VỀ LEARN TO LEAP";
    display: block;
    font-family: 'Lexend', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    color: #6429c9;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.elementor-element-3e86dee p,
.elementor-element-2e50416 p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 15.5px !important;
    color: #554d6d !important;
    line-height: 1.75 !important;
    margin-bottom: 16px !important;
}

/* 4. ECOSYSTEM 6 SOLUTIONS (.elementor-element-d425373) */
.elementor-element-d425373 {
    background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%) !important;
    padding: 100px 20px !important;
    position: relative !important;
}
.elementor-element-d425373 > .e-con-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.elementor-element-d9293bb {
    margin-bottom: 10px !important;
    text-align: center !important;
}
.elementor-element-d9293bb .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(28px, 3.6vw, 44px) !important;
    font-weight: 700 !important;
    color: #180e2e !important;
    line-height: 1.22 !important;
    text-align: center !important;
}
.elementor-element-d9293bb .elementor-heading-title::before {
    content: "— GIẢI PHÁP TOÀN DIỆN —";
    display: block;
    font-family: 'Lexend', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    color: #6429c9;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
    text-align: center;
}
.elementor-element-7822574 p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 15.5px !important;
    color: #675f82 !important;
    text-align: center !important;
    max-width: 680px !important;
    margin: 0 auto 46px !important;
    line-height: 1.65 !important;
}

/* 6 Solution Cards */
.elementor-element-d425373 .elementor-widget-icon-box {
    background: #ffffff !important;
    border: 1px solid #ece6f6 !important;
    border-radius: 24px !important;
    padding: 34px 28px !important;
    box-shadow: 0 4px 20px rgba(124, 58, 237, 0.05) !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: 100% !important;
}
.elementor-element-d425373 .elementor-widget-icon-box:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 45px -12px rgba(124, 58, 237, 0.16) !important;
    border-color: #d8c9f3 !important;
}
.elementor-element-d425373 .elementor-icon {
    width: 54px !important;
    height: 54px !important;
    border-radius: 14px !important;
    background: rgba(124, 58, 237, 0.08) !important;
    color: #7c3aed !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 26px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s ease !important;
}
.elementor-element-d425373 .elementor-widget-icon-box:hover .elementor-icon {
    background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%) !important;
    color: #ffffff !important;
    transform: scale(1.06) !important;
}
.elementor-element-d425373 .elementor-icon-box-title,
.elementor-element-d425373 .elementor-icon-box-title span {
    font-family: 'Lexend', sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #180e2e !important;
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
}
.elementor-element-d425373 .elementor-icon-box-description {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 14px !important;
    color: #675f82 !important;
    line-height: 1.62 !important;
}

/* 5. CORE COMPETENCIES & AWARDS (.elementor-element-c807cc1) */
.elementor-element-c807cc1 {
    background: radial-gradient(120% 100% at 50% 0%, #241050 0%, #160a30 60%, #120627 100%) !important;
    position: relative !important;
    padding: 100px 20px 110px !important;
    overflow: hidden !important;
}
.elementor-element-c807cc1::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(168, 85, 247, 0.08) 1.5px, transparent 1.5px);
    background-size: 32px 32px;
    pointer-events: none;
    z-index: 1;
}
.elementor-element-c807cc1 > .e-con-inner {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Section Title Part A: Năng lực cốt lõi */
.elementor-element-b5a8c3c {
    text-align: center !important;
    margin-bottom: 12px !important;
}
.elementor-element-b5a8c3c .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(28px, 3.6vw, 44px) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.22 !important;
    text-align: center !important;
}
.elementor-element-b5a8c3c .elementor-heading-title::before {
    content: "— KHUNG NĂNG LỰC THẾ KỶ 21 —";
    display: block;
    font-family: 'Lexend', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    color: #d9c8ff;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
    text-align: center;
}
.elementor-element-d7733cf p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 15.5px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    text-align: center !important;
    max-width: 680px !important;
    margin: 0 auto 46px !important;
    line-height: 1.65 !important;
}

/* 8 Competency Cards */
.elementor-element-c807cc1 .elementor-widget-icon-box {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px !important;
    padding: 24px 20px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.elementor-element-c807cc1 .elementor-widget-icon-box:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(168, 85, 247, 0.5) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 35px -10px rgba(124, 58, 237, 0.35) !important;
}
.elementor-element-c807cc1 .elementor-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #a855f7 0%, #ec4899 100%) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 8px 18px -4px rgba(168, 85, 247, 0.45) !important;
}
.elementor-element-c807cc1 .elementor-icon-box-title,
.elementor-element-c807cc1 .elementor-icon-box-title span {
    font-family: 'Lexend', sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}
.elementor-element-c807cc1 .elementor-icon-box-description {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    line-height: 1.55 !important;
}

/* Part B: Được tin tưởng, được vinh danh (Awards) */
.elementor-element-cf72397 {
    text-align: center !important;
    margin-top: 80px !important;
    margin-bottom: 42px !important;
}
.elementor-element-cf72397 .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(26px, 3.4vw, 40px) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    text-align: center !important;
}
.elementor-element-cf72397 .elementor-heading-title::before {
    content: "— NĂNG LỰC & DẤU ẤN —";
    display: block;
    font-family: 'Lexend', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    color: #e7b24a;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
    text-align: center;
}

/* 4 Award Cards Container (d5baf37) */
.elementor-element-d5baf37 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 22px !important;
    justify-content: center !important;
}
.elementor-element-d5baf37 > .e-con,
.elementor-element-award_card_0,
.elementor-element-award_card_1,
.elementor-element-award_card_2,
.elementor-element-award_card_3 {
    flex: 1 1 240px !important;
    max-width: 285px !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    border-top: 4px solid #e7b24a !important;
    padding: 20px !important;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.28) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
}
.elementor-element-award_card_0:hover,
.elementor-element-award_card_1:hover,
.elementor-element-award_card_2:hover,
.elementor-element-award_card_3:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 45px rgba(231, 178, 74, 0.25) !important;
}
.elementor-element-award_card_0 img,
.elementor-element-award_card_1 img,
.elementor-element-award_card_2 img,
.elementor-element-award_card_3 img {
    border-radius: 12px !important;
    height: 150px !important;
    width: 100% !important;
    object-fit: cover !important;
    margin-bottom: 14px !important;
}
.elementor-element-award_card_0 .elementor-element-award_tag_0,
.elementor-element-award_card_1 .elementor-element-award_tag_1,
.elementor-element-award_card_2 .elementor-element-award_tag_2,
.elementor-element-award_card_3 .elementor-element-award_tag_3,
.elementor-element-award_card_0 .elementor-element-award_tag_0 .elementor-heading-title,
.elementor-element-award_card_1 .elementor-element-award_tag_1 .elementor-heading-title,
.elementor-element-award_card_2 .elementor-element-award_tag_2 .elementor-heading-title,
.elementor-element-award_card_3 .elementor-element-award_tag_3 .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    color: #b8862c !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
}
.elementor-element-award_card_0 .elementor-element-award_title_0,
.elementor-element-award_card_1 .elementor-element-award_title_1,
.elementor-element-award_card_2 .elementor-element-award_title_2,
.elementor-element-award_card_3 .elementor-element-award_title_3,
.elementor-element-award_card_0 .elementor-element-award_title_0 .elementor-heading-title,
.elementor-element-award_card_1 .elementor-element-award_title_1 .elementor-heading-title,
.elementor-element-award_card_2 .elementor-element-award_title_2 .elementor-heading-title,
.elementor-element-award_card_3 .elementor-element-award_title_3 .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #180e2e !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}
.elementor-element-award_card_0 .elementor-element-award_desc_0 p,
.elementor-element-award_card_1 .elementor-element-award_desc_1 p,
.elementor-element-award_card_2 .elementor-element-award_desc_2 p,
.elementor-element-award_card_3 .elementor-element-award_desc_3 p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 13px !important;
    color: #675f82 !important;
    line-height: 1.5 !important;
}

/* 6. PARTNERSHIP SECTION (.elementor-element-e20be80) */
.elementor-element-e20be80 {
    background: #ffffff !important;
    padding: 100px 20px !important;
    position: relative !important;
}
.elementor-element-e20be80 > .e-con-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.elementor-element-17068de {
    text-align: center !important;
    margin-bottom: 12px !important;
}
.elementor-element-17068de .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(28px, 3.5vw, 42px) !important;
    font-weight: 700 !important;
    color: #180e2e !important;
    line-height: 1.25 !important;
    text-align: center !important;
}
.elementor-element-17068de .elementor-heading-title::before {
    content: "— MÔ HÌNH HỢP TÁC —";
    display: block;
    font-family: 'Lexend', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    color: #6429c9;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
    text-align: center;
}
.elementor-element-46e8143 p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 15.5px !important;
    color: #675f82 !important;
    text-align: center !important;
    max-width: 680px !important;
    margin: 0 auto 50px !important;
    line-height: 1.65 !important;
}

/* 3 Partnership Cards */
.elementor-element-e20be80 .elementor-widget-icon-box {
    background: #ffffff !important;
    border: 1px solid #ece6f6 !important;
    border-radius: 24px !important;
    padding: 38px 30px !important;
    box-shadow: 0 6px 24px rgba(100, 41, 201, 0.06) !important;
    transition: all 0.35s ease !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}
.elementor-element-e20be80 .elementor-widget-icon-box:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 18px 40px rgba(100, 41, 201, 0.14) !important;
    border-color: #d8c9f3 !important;
}
.elementor-element-e20be80 .elementor-icon {
    width: 64px !important;
    height: 64px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(219, 39, 119, 0.1)) !important;
    color: #7c3aed !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
    margin-bottom: 22px !important;
    transition: all 0.3s ease !important;
}
.elementor-element-e20be80 .elementor-widget-icon-box:hover .elementor-icon {
    background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%) !important;
    color: #ffffff !important;
    transform: scale(1.06) !important;
}
.elementor-element-e20be80 .elementor-icon-box-title,
.elementor-element-e20be80 .elementor-icon-box-title span {
    font-family: 'Lexend', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #180e2e !important;
    margin-bottom: 12px !important;
}
.elementor-element-e20be80 .elementor-icon-box-description {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 14.5px !important;
    color: #675f82 !important;
    line-height: 1.65 !important;
}

/* 7. PRESS CAROUSEL SECTION (.elementor-element-4e99da8) */
.elementor-element-4e99da8 {
    background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%) !important;
    padding: 80px 20px !important;
    position: relative !important;
}
.elementor-element-4e99da8 > .e-con-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.elementor-element-68937e7 {
    text-align: center !important;
    margin-bottom: 30px !important;
}
.elementor-element-68937e7 .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(26px, 3.2vw, 38px) !important;
    font-weight: 700 !important;
    color: #180e2e !important;
    text-align: center !important;
}
.elementor-element-68937e7 .elementor-heading-title::before {
    content: "— TRUYỀN THÔNG & BÁO CHÍ —";
    display: block;
    font-family: 'Lexend', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #6429c9;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 10px;
    text-align: center;
}
.elementor-element-press_logo_carousel {
    padding: 10px 0 !important;
}
.elementor-element-press_logo_carousel .swiper-slide img {
    height: 48px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    opacity: 0.85 !important;
    transition: all 0.3s ease !important;
}
.elementor-element-press_logo_carousel .swiper-slide img:hover {
    opacity: 1 !important;
    transform: scale(1.06) !important;
}

/* 8. CTA BANNER SECTION (.elementor-element-3e7af89) */
.elementor-element-3e7af89 {
    background: transparent !important;
    padding: 20px 20px 90px !important;
    position: relative !important;
}
.elementor-element-3e7af89 > .e-con-inner {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-shadow: none !important;
}
.elementor-element-0fd5691 {
    background: radial-gradient(110% 100% at 15% 0%, #3d1580 0%, #1b0b38 55%, #120627 100%) !important;
    border-radius: 28px !important;
    padding: 70px 40px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    text-align: center !important;
    box-shadow: 0 25px 60px -15px rgba(27, 11, 56, 0.45) !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}
.elementor-element-0fd5691::before {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(223, 47, 134, 0.25) 0%, transparent 70%);
    top: -100px;
    right: -50px;
    pointer-events: none;
}
.elementor-element-001533e {
    margin-bottom: 12px !important;
    text-align: center !important;
}
.elementor-element-001533e .elementor-heading-title {
    font-family: 'Lexend', sans-serif !important;
    font-size: clamp(28px, 3.6vw, 44px) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    text-align: center !important;
}
.elementor-element-001533e .elementor-heading-title::before {
    content: "— ĐỒNG HÀNH CÙNG LEARN TO LEAP —";
    display: block;
    font-family: 'Lexend', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    color: #d9c8ff;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
    text-align: center;
}
.elementor-element-5972d75 p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-size: 16px !important;
    color: #cdc2e8 !important;
    text-align: center !important;
    max-width: 620px !important;
    margin: 0 auto 32px !important;
    line-height: 1.6 !important;
}
.elementor-element-f5f2c60 {
    margin: 0 auto !important;
    text-align: center !important;
}
.elementor-element-f5f2c60 .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    padding: 0 36px !important;
    background: linear-gradient(115deg, #7c3aed 0%, #df2f86 100%) !important;
    color: #ffffff !important;
    font-family: 'Lexend', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 12px 30px -6px rgba(223, 47, 134, 0.6) !important;
    letter-spacing: 0.04em !important;
    transition: all 0.35s ease !important;
}
.elementor-element-f5f2c60 .elementor-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 40px -6px rgba(223, 47, 134, 0.8) !important;
    color: #ffffff !important;
}

/* RESPONSIVE OPTIMIZATIONS FOR MOBILE & TABLETS */
@media (max-width: 991px) {
    .elementor-element-c378dba > .e-con-inner {
        flex-wrap: wrap !important;
        gap: 16px !important;
        padding: 20px 10px !important;
    }
    .elementor-element-c378dba .elementor-widget-counter {
        flex: 1 1 40% !important;
        border-right: none !important;
        border-bottom: 1px solid #ece6f6 !important;
        padding-bottom: 14px !important;
    }
    .elementor-element-c378dba .elementor-widget-counter:last-child {
        border-bottom: none !important;
    }
}
@media (max-width: 767px) {
    .elementor-element-4b3232f {
        padding-top: 80px !important;
        padding-bottom: 60px !important;
    }
    .elementor-element-c378dba .elementor-widget-counter {
        flex: 1 1 100% !important;
    }
    .elementor-element-d5baf37 > .e-con,
    .elementor-element-award_card_0,
    .elementor-element-award_card_1,
    .elementor-element-award_card_2,
    .elementor-element-award_card_3 {
        max-width: 100% !important;
    }
}
