:root{
  --primary:#2563EB;
  --secondary:#0F172A;
  --accent:#F59E0B;
  --success:#10B981;
  --white:#FFFFFF;
  --light:#F8FAFC;
  --gray:#E5E7EB;
  --text:#dbe7ff;
  --dark:#050816;
  --glass:rgba(255,255,255,.08);
  --glass-strong:rgba(255,255,255,.12);
  --border:rgba(255,255,255,.14);
  --shadow:0 25px 80px rgba(2,6,23,.35);
  --radius:28px;
  --radius-sm:18px;
  --maxw:1600px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope",sans-serif;
  background:
    radial-gradient(circle at 20% 10%, rgba(37,99,235,.26), transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(245,158,11,.12), transparent 22%),
    linear-gradient(180deg, #050816 0%, #0B1224 50%, #08101F 100%);
  color:var(--white);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none}
.section-pad{padding:120px 0;position:relative}
.container-fluid{max-width:var(--maxw)}

.loading-screen{
  position:fixed;inset:0;background:#020617;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999;transition:.6s ease;
}
.loading-logo{font-size:56px;font-weight:800;letter-spacing:.2em;color:var(--primary)}
.loading-bar{width:220px;height:3px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;margin-top:20px}
.loading-bar span{display:block;width:40%;height:100%;background:linear-gradient(90deg,var(--primary),#7dd3fc);animation:load 1.2s ease-in-out infinite}
@keyframes load{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}

.cursor,.cursor-follower{
  position:fixed;left:0;top:0;pointer-events:none;border-radius:50%;z-index:9998;transform:translate(-50%,-50%)
}
.cursor{width:10px;height:10px;background:var(--accent);box-shadow:0 0 20px rgba(245,158,11,.7)}
.cursor-follower{width:42px;height:42px;border:1px solid rgba(125,211,252,.35);background:rgba(37,99,235,.08);backdrop-filter:blur(8px)}

.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:rgba(255,255,255,.05);z-index:9997}
.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),#60a5fa,var(--accent))}

.glass-navbar{
  position:fixed;top:16px;left:50%;transform:translateX(-50%);
  width:min(96%,var(--maxw));z-index:1000;backdrop-filter:blur(24px);
  background:rgba(2,6,23,.42);border:1px solid rgba(255,255,255,.1);
  border-radius:999px;box-shadow:var(--shadow);
}
.premium-brand{display:flex;align-items:center;gap:14px;color:#fff}
.premium-brand strong{display:block;font-size:15px;letter-spacing:.02em}
.premium-brand small{display:block;color:#b7c4e4;font-size:11px}
.brand-mark{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(37,99,235,.95),rgba(59,130,246,.4));
  box-shadow:0 0 30px rgba(37,99,235,.4)
}
.nav-link{color:#d9e4ff!important;font-weight:600}
.nav-link:hover{color:#fff!important}
.premium-toggler{border:0;background:transparent;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.premium-toggler span{height:2px;width:24px;background:#fff;border-radius:99px;margin:0 auto}
.btn-premium,.btn-ghost{
  border-radius:999px;padding:14px 22px;font-weight:700;border:0;transition:.35s ease;
}
.btn-premium{
  color:#fff;background:linear-gradient(135deg,var(--primary),#60a5fa);
  box-shadow:0 20px 40px rgba(37,99,235,.3)
}
.btn-premium:hover{transform:translateY(-2px) scale(1.02);color:#fff}
.btn-ghost{color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.12)}

.hero-section{
  position:relative;overflow:hidden;min-height:100vh;padding-top:120px;
}
.bg-mesh,.noise-overlay,.chess-pattern,.bg-orb{position:absolute;inset:0;pointer-events:none}
.bg-mesh{
  background:
    radial-gradient(circle at 15% 20%, rgba(37,99,235,.26), transparent 18%),
    radial-gradient(circle at 85% 18%, rgba(245,158,11,.18), transparent 16%),
    radial-gradient(circle at 50% 70%, rgba(16,185,129,.09), transparent 18%);
  filter:blur(16px);
}
.noise-overlay{opacity:.09;background-image:url('https://www.transparenttextures.com/patterns/noise.png')}
.chess-pattern{opacity:.08;background-image:linear-gradient(45deg, rgba(255,255,255,.12) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.12) 75%, rgba(255,255,255,.12)),linear-gradient(45deg, rgba(255,255,255,.12) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.12) 75%, rgba(255,255,255,.12));background-size:80px 80px;background-position:0 0,40px 40px;mask-image:radial-gradient(circle at center, black 30%, transparent 80%)}
.bg-orb{border-radius:50%;filter:blur(20px);opacity:.8;animation:float 10s ease-in-out infinite}
.orb-1{width:260px;height:260px;background:rgba(37,99,235,.24);left:-40px;top:160px}
.orb-2{width:180px;height:180px;background:rgba(245,158,11,.16);right:8%;top:120px;animation-delay:-2s}
.orb-3{width:240px;height:240px;background:rgba(16,185,129,.12);right:18%;bottom:10%;animation-delay:-4s}
@keyframes float{50%{transform:translateY(-22px) translateX(10px)}}

.hero-inner{position:relative;z-index:2}
.eyebrow-pill{
  display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);
  color:#dbe7ff;font-weight:700;letter-spacing:.02em
}
.pulse-dot{width:10px;height:10px;background:var(--success);border-radius:50%;box-shadow:0 0 0 0 rgba(16,185,129,.7);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}

.hero-title{
  font-size:clamp(54px,7vw,84px);line-height:.95;font-weight:800;letter-spacing:-.05em;
  margin:28px 0 22px;max-width:12ch
}
.gradient-text{
  background:linear-gradient(90deg,#fff,var(--primary),#7dd3fc,var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;background-size:300% 300%;
  animation:gradientShift 6s ease infinite
}
@keyframes gradientShift{50%{background-position:100% 50%}}
.hero-subtitle{font-size:clamp(20px,1.6vw,22px);color:#b8c6e3;max-width:620px;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin:34px 0 26px}
.hero-stats{display:flex;flex-wrap:wrap;gap:16px}
.stat-card{
  min-width:180px;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px)
}
.stat-card strong{display:block;font-size:30px;line-height:1}
.stat-card strong span{font-size:14px;color:#b9c8e5}
.stat-card span{color:#a8bbdf;font-size:14px}

.hero-visual{position:relative;min-height:680px}
.board-stage{position:relative;width:min(100%,700px);margin-left:auto;padding:40px 0}
.board-glow{
  position:absolute;inset:10% 8% auto auto;width:70%;height:70%;background:radial-gradient(circle, rgba(37,99,235,.4), transparent 60%);
  filter:blur(20px)
}
.chess-board{
  position:relative;aspect-ratio:1/1;width:min(92vw,560px);margin-left:auto;
  transform:perspective(1200px) rotateX(54deg) rotateZ(-12deg);
  border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);overflow:hidden
}
.board-grid{
  position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,1fr)
}
.board-grid span:nth-child(odd){background:rgba(255,255,255,.02)}
.board-grid span:nth-child(even){background:rgba(37,99,235,.08)}
.piece{
  position:absolute;font-size:clamp(52px,5vw,88px);filter:drop-shadow(0 12px 20px rgba(0,0,0,.35));
  animation:levitate 4s ease-in-out infinite;color:#fff
}
@keyframes levitate{50%{transform:translateY(-12px)}}
.piece-king{left:52%;top:14%;color:#fff}
.piece-queen{left:17%;top:32%;color:#7dd3fc;animation-delay:-1s}
.piece-knight{right:20%;top:42%;color:#f5d08a;animation-delay:-2s}
.piece-pawn{left:34%;bottom:14%;color:#cbd5e1;animation-delay:-3s}
.hero-badge{
  position:absolute;z-index:3;padding:14px 18px;min-width:180px;border-radius:20px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(20px)
}
.hero-badge span{display:block;font-size:12px;color:#b9c8e5}
.hero-badge strong{display:block;font-size:18px}
.badge-top{top:6%;left:6%}
.badge-mid{right:0;top:40%}
.badge-bottom{left:12%;bottom:6%}
.floating-glass{position:absolute;padding:16px 18px;max-width:260px}
.floating-card-a{left:0;bottom:24%}
.floating-card-b{right:2%;bottom:-6%}
.scroll-hint{
  position:absolute;left:50%;bottom:28px;transform:translateX(-50%);color:#c8d6f2;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;font-size:12px;opacity:.8
}

.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:42px}
.section-heading h2{font-size:clamp(38px,4vw,62px);line-height:1.02;font-weight:800;max-width:12ch;margin:0}
.section-heading p{max-width:540px;color:#adc1ea;font-size:18px;line-height:1.7;margin:0}
.section-kicker{display:inline-flex;margin-bottom:10px;color:#7dd3fc;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px}

.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.image-frame{
  border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow);transform:rotate(-2deg)
}
.image-frame img{width:100%;height:640px;object-fit:cover}
.floating-quote{
  margin-top:-46px;margin-left:40px;max-width:420px;padding:18px 22px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);
}
.timeline{display:grid;gap:24px;margin-bottom:28px}
.timeline-item{display:flex;gap:18px}
.timeline-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(145deg,var(--accent),#fcd34d);margin-top:9px;box-shadow:0 0 0 8px rgba(245,158,11,.08)}
.timeline h3{margin:0 0 6px;font-size:24px}
.timeline p{margin:0;color:#b6c6e4;line-height:1.8}
.numbers-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.number-box{padding:22px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.number-box strong{display:block;font-size:36px}
.number-box span{color:#aebfe4}

.courses-float{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.course-card{
  position:relative;padding:30px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);transform-style:preserve-3d;transition:.35s ease
}
.course-card:hover{transform:translateY(-10px) rotateX(4deg) rotateY(-4deg)}
.course-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-size:36px;background:linear-gradient(145deg, rgba(37,99,235,.4), rgba(245,158,11,.18));margin-bottom:18px}
.course-card h3{font-size:30px;margin-bottom:12px}
.course-card p{color:#b8c9e7;line-height:1.7;min-height:84px}
.course-card span{display:inline-block;margin-top:10px;font-weight:800;color:#7dd3fc}

.why-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px}
.why-copy h2{font-size:clamp(40px,4.4vw,64px);line-height:1.02;font-weight:800;max-width:11ch}
.why-copy p{color:#b9c8e8;font-size:18px;line-height:1.8;max-width:560px}
.why-blocks{display:grid;gap:18px}
.why-block{
  display:flex;gap:18px;align-items:flex-start;padding:24px;border-radius:24px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px)
}
.why-icon{
  width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-weight:800;color:#fff;
  background:linear-gradient(145deg,var(--primary),rgba(125,211,252,.45));box-shadow:0 0 30px rgba(37,99,235,.18)
}
.why-block h3{margin:0 0 6px;font-size:22px}
.why-block p{margin:0;color:#b9c8e6;line-height:1.7}

.testimonial-slider{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;overflow:hidden
}
.testimonial-card{
  padding:30px;border-radius:28px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px)
}
.quote-mark{font-size:64px;line-height:.7;color:#7dd3fc}
.testimonial-card p{color:#d5e2fb;font-size:18px;line-height:1.8;min-height:120px}
.testimonial-person{display:flex;gap:14px;align-items:center;margin-top:20px}
.testimonial-person img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.testimonial-person span{display:block;color:#a9bad9}

.masonry-gallery{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;grid-auto-rows:220px
}
.gallery-item{
  position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow)
}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.45s ease}
.gallery-item:hover img{transform:scale(1.08);filter:blur(1px) brightness(.92)}
.gallery-item::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(2,6,23,.62));
  opacity:0;transition:.35s ease
}
.gallery-item:hover::after{opacity:1}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}

.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.faq-item{
  padding:28px;border-radius:28px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px)
}
.faq-item h3{margin-bottom:10px;font-size:24px}
.faq-item p{margin:0;color:#b9c8e6;line-height:1.8}

.cta-panel{
  display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px;padding:44px;
  border-radius:40px;background:linear-gradient(135deg, rgba(37,99,235,.34), rgba(15,23,42,.86), rgba(245,158,11,.18));
  border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);overflow:hidden;position:relative
}
.cta-panel::before{
  content:"";position:absolute;inset:-40% -20%;background:radial-gradient(circle, rgba(125,211,252,.25), transparent 40%);animation:float 12s ease-in-out infinite
}
.cta-content,.cta-king{position:relative;z-index:2}
.cta-content h2{font-size:clamp(42px,5vw,72px);line-height:.98;font-weight:800;max-width:11ch}
.cta-content p{color:#d8e5fb;max-width:560px;font-size:18px;line-height:1.8}
.king-illustration{
  width:min(100%,420px);height:420px;margin-left:auto;border-radius:40px;
  display:grid;place-items:center;font-size:180px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(18px);box-shadow:var(--shadow);animation:levitate 4s ease-in-out infinite
}

.site-footer{
  background:linear-gradient(180deg,#020617 0%, #030712 100%);
  padding:70px 0 30px;border-top:1px solid rgba(255,255,255,.08)
}
.footer-grid{display:grid;grid-template-columns:1.2fr .6fr .9fr;gap:30px;padding-bottom:26px}
.site-footer h4{margin-bottom:16px}
.site-footer p,.site-footer a{color:#9eb0d1}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.newsletter{display:flex;gap:12px;flex-wrap:wrap}
.newsletter input{
  flex:1;min-width:220px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  color:#fff;border-radius:999px;padding:14px 18px;outline:none
}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)
}
.socials{display:flex;gap:18px;flex-wrap:wrap}

.back-to-top,.fab-cta,.floating-contact{
  position:fixed;right:22px;z-index:1002;border:0;border-radius:999px;box-shadow:var(--shadow)
}
.back-to-top{
  bottom:96px;width:52px;height:52px;background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(16px);display:none
}
.fab-cta{
  bottom:24px;padding:16px 22px;background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff;font-weight:800
}
.floating-contact{
  padding:14px 18px;color:#fff;font-weight:800;backdrop-filter:blur(16px)
}
.floating-contact.whatsapp{bottom:182px;background:linear-gradient(135deg,#16a34a,#22c55e)}
.floating-contact.call{bottom:236px;background:linear-gradient(135deg,#0f172a,#334155)}

.glass-card{box-shadow:0 20px 50px rgba(2,6,23,.2)}
.reveal{opacity:0;transform:translateY(28px);transition:.8s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.24s}
.delay-3{transition-delay:.36s}
button.fab-cta.magnetic{
    display:none;
}
@media (max-width: 1199px){
  .section-heading,
  .about-grid,
  .why-layout,
  .cta-panel,
  .footer-grid{
    display:grid;
    grid-template-columns:1fr;
  }

  .testimonial-slider,
  .courses-float,
  .faq-grid{
    grid-template-columns:1fr;
  }

  .masonry-gallery{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero-visual{
    min-height:auto;
    margin-top:40px;
  }

  .chess-board{
    margin:0 auto;
  }

  .badge-mid{
    right:6%;
  }
}

@media (max-width: 991px){
  .glass-navbar{
    top:10px;
    width:min(94%, var(--maxw));
    border-radius:24px;
  }

  .navbar-collapse{
    padding:16px 6px 6px;
  }

  .navbar-nav{
    gap:8px;
    padding-top:10px;
  }

  .nav-link{
    padding:10px 0;
  }

  .hero-section{
    padding-top:110px;
  }

  .hero-title{
    font-size:clamp(42px, 9vw, 66px);
    max-width:none;
  }

  .hero-subtitle,
  .section-heading p,
  .why-copy p,
  .cta-content p{
    font-size:17px;
  }

  .hero-actions{
    gap:12px;
  }

  .numbers-row{
    grid-template-columns:1fr;
  }

  .image-frame img{
    height:420px;
  }

  .cta-panel{
    padding:28px;
    border-radius:30px;
  }

  .king-illustration{
    height:280px;
    font-size:130px;
  }
}

@media (max-width: 767px){
  .section-pad{
    padding:80px 0;
  }

  .hero-actions,
  .hero-stats,
  .footer-bottom,
  .socials{
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-badge,
  .floating-glass{
    display:none;
  }

  .section-heading{
    gap:12px;
  }

  .section-heading h2{
    max-width:none;
  }

  .masonry-gallery{
    grid-template-columns:1fr;
    grid-auto-rows:240px;
  }

  .gallery-item.wide,
  .gallery-item.tall{
    grid-column:auto;
    grid-row:auto;
  }

  .navbar-brand small{
    display:none;
  }

  .premium-brand strong{
    font-size:14px;
  }

  .hero-title{
    font-size:40px;
    line-height:1;
  }

  .board-stage{
    padding-top:20px;
  }

  .chess-board{
    width:min(92vw, 440px);
    transform:perspective(1000px) rotateX(50deg) rotateZ(-10deg);
  }

  .floating-contact{
    right:14px;
    font-size:14px;
    padding:12px 16px;
  }

  .floating-contact.whatsapp{
    bottom:160px;
  }

  .floating-contact.call{
    bottom:214px;
  }

  .fab-cta{
    right:14px;
    bottom:18px;
  }

  .back-to-top{
    right:14px;
    bottom:86px;
  }
}

@media (max-width: 575px){
  .container-fluid{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .hero-title{
    font-size:38px;
  }

  .btn-premium,
  .btn-ghost{
    width:100%;
    justify-content:center;
  }

  .hero-actions{
    width:100%;
  }

  .stat-card,
  .course-card,
  .testimonial-card,
  .why-block,
  .number-box,
  .faq-item{
    border-radius:22px;
  }

  .course-card p,
  .testimonial-card p{
    min-height:auto;
  }

  .image-frame img{
    height:340px;
  }

  .cta-content h2{
    max-width:none;
  }
}