
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{
 --ink:#f7f9ff;--ink2:#0b1730;--paper:#061128;--white:#061128;--muted:#9aa9bf;--line:#223452;
 --accent:#0064ef;--accent2:#1686ff;--cyan:#28b8ff;--lime:#0064ef;--orange:#ff8a4c;
 --shadow:0 22px 70px rgba(10,11,15,.10);--radius:22px;--max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"Plus Jakarta Sans",sans-serif;color:var(--ink);background:var(--white);line-height:1.7;font-size:16px}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(var(--max),92%);margin:auto}
h1,h2,h3,h4{font-family:"Manrope",sans-serif;letter-spacing:-.035em}h1{font-size:clamp(38px,5vw,64px);line-height:1.01}h2{font-size:clamp(30px,3.5vw,46px);line-height:1.06}h3{font-size:21px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--accent);margin-bottom:13px}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.section-head>div:first-child{max-width:690px}.section-head p{max-width:560px;color:var(--muted);margin-top:14px;font-size:16px}.section-head .btn{flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:#fff}.btn-accent{background:var(--accent);color:#fff}.btn-outline{border-color:#d8dae1;background:#fff}.btn-lime{background:var(--cyan);color:#10130a}.pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f0efff;color:#0063bf;font-size:11px;font-weight:800}
.top{background:var(--ink);color:#c8cbd3;font-size:13px}.top .container{min-height:34px;display:flex;align-items:center;justify-content:space-between}.top a{color:#fff;font-weight:700}.nav{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,232,236,.8)}.nav-in{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:"Plus Jakarta Sans";font-weight:800;font-size:23px;letter-spacing:-.05em}.brand i{font-style:normal;color:var(--accent)}.brand small{display:block;font:700 8px "DM Sans";letter-spacing:.12em;color:#8a8e97;margin-top:-3px}.nav-links{display:flex;gap:25px;align-items:center;font-size:15px;font-weight:700}.nav-links>a{color:#414650;padding:28px 0}.nav-links>a:hover{color:var(--accent)}.nav-actions{display:flex;gap:9px}.menu{display:none;border:0;background:none;font-size:27px}
.mega-wrap{position:static}.mega{position:absolute;left:50%;transform:translateX(-50%) translateY(8px);top:76px;width:min(1120px,92vw);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:24px;display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:18px;opacity:0;visibility:hidden;transition:.18s}.mega-wrap:hover .mega,.mega-wrap:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.mega-intro{background:linear-gradient(145deg,#0b0c10,#222631);color:#fff;border-radius:16px;padding:22px}.mega-intro p{color:#aeb3bf;font-size:12px;margin:10px 0 18px}.mega h4{font-size:13px;margin:6px 0 11px}.mega a.item{display:block;padding:8px 0;color:#606671;font-size:14px;font-weight:700}.mega a.item:hover{color:var(--accent)}
.hero{background:var(--ink);color:#fff;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,99,191,.32),transparent 65%);right:-180px;top:-230px}.hero-in{min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;position:relative}.hero .eyebrow{color:#78a0ff}.hero h1 span{color:var(--cyan)}.hero-copy>p{max-width:600px;color:#b5bac5;font-size:18px;margin:23px 0 29px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.hero-actions .btn-outline{background:transparent;color:#fff;border-color:#454953}.proof{display:flex;gap:26px;flex-wrap:wrap;margin-top:42px}.proof strong{display:block;font:800 18px "Plus Jakarta Sans"}.proof span{font-size:11px;color:#9da3b0}.visual{position:relative}.dashboard{background:#15171d;border:1px solid #2b2f38;border-radius:25px;padding:13px;box-shadow:0 35px 90px rgba(0,0,0,.4);transform:rotate(1.2deg)}.dash-top{height:36px;border-bottom:1px solid #292d35;display:flex;align-items:center;gap:6px;padding:0 8px}.d-dot{width:8px;height:8px;border-radius:50%;background:#555b66}.dash-body{padding:20px}.dash-nav{height:9px;width:42%;background:#3c414c;border-radius:9px;margin-bottom:28px}.dash-title{height:15px;width:70%;background:#f3f4f7;border-radius:4px}.dash-sub{height:8px;width:48%;background:#646a76;border-radius:8px;margin:10px 0 25px}.dash-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:12px}.dash-card{background:#20232b;border:1px solid #2c3039;border-radius:15px;padding:14px;min-height:150px}.dash-card.big{min-height:220px}.bars{height:100%;display:flex;align-items:end;gap:7px}.bar{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#8b84ff,#5149dc)}.float{position:absolute;background:#fff;color:var(--ink);padding:13px 15px;border-radius:15px;box-shadow:var(--shadow);font-size:12px;font-weight:800}.float.one{left:-26px;top:90px}.float.two{right:-24px;bottom:45px}.float b{display:block;color:var(--accent);font:800 19px "Plus Jakarta Sans"}
.service-grid,.course-grid,.portfolio-grid,.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:25px;transition:.2s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d8d9ff}.icon{width:49px;height:49px;border-radius:15px;background:#f0efff;color:var(--accent);display:grid;place-items:center;font-size:21px;margin-bottom:18px}.card h3{margin-bottom:8px}.card p{color:var(--muted);font-size:15px}.link{display:inline-block;margin-top:17px;color:var(--accent);font-size:14px;font-weight:800}
.marquee{background:var(--ink);color:#8e94a0;overflow:hidden;border-top:1px solid #22252d;border-bottom:1px solid #22252d}.marquee-in{display:flex;gap:45px;white-space:nowrap;padding:18px 0;font:700 11px Manrope;letter-spacing:.12em;text-transform:uppercase}.marquee b{color:#fff}
.soft{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.feature-list{list-style:none;margin-top:26px}.feature-list li{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.feature-list li:before{content:"✓";color:var(--accent);font-weight:900}.metric-card{background:var(--ink);color:#fff;border-radius:28px;padding:30px;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;width:230px;height:230px;background:radial-gradient(circle,rgba(0,99,191,.42),transparent 65%);right:-80px;top:-80px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}.metric{border:1px solid #2d3038;border-radius:17px;padding:19px}.metric strong{font:800 29px "Plus Jakarta Sans"}.metric span{display:block;color:#a6abb6;font-size:11px;margin-top:3px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:42px}.step{border-top:1px solid #dfe1e6;padding-top:18px}.step-num{font:800 11px "Plus Jakarta Sans";color:var(--accent);margin-bottom:25px}.step h3{font-size:17px}.step p{font-size:12px;color:var(--muted);margin-top:8px}.course-card{padding:0;overflow:hidden}.course-cover{height:160px;background:linear-gradient(135deg,#11131a,#262a34);color:#fff;padding:21px;display:flex;justify-content:space-between;align-items:end}.course-cover .big-icon{font-size:38px}.course-body{padding:22px}.course-info{display:flex;gap:14px;flex-wrap:wrap;color:#6b707b;font-size:11px;margin:15px 0}.course-info b{color:var(--ink)}.price-row{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.price{font:800 24px "Plus Jakarta Sans"}.portfolio-item{padding:0;overflow:hidden}.project-cover{height:240px;background:linear-gradient(135deg,#ececff,#dfe1ff);display:flex;align-items:center;justify-content:center;font:800 27px "Plus Jakarta Sans";color:#0063bf}.project-body{padding:20px}.reviews .stars{color:#ffae2f;letter-spacing:2px;font-size:13px}.review-text{font-size:14px;margin:14px 0;color:#535a66}.review-person{font-size:12px;font-weight:800}.review-source{font-size:10px;color:var(--muted);display:block;margin-top:2px}
.cta{background:var(--ink);color:#fff;border-radius:28px;padding:50px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta p{color:#aeb4bf;margin-top:8px;max-width:600px}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.footer{background:#07080b;color:#dfe2e8;padding:75px 0 22px}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr 1.2fr;gap:30px}.footer p{color:#9298a4;font-size:12px;max-width:340px;margin-top:15px}.footer h4{font-size:13px;margin-bottom:13px;color:#fff}.footer a{display:block;color:#9298a4;font-size:13px;margin:9px 0}.footer a:hover{color:#fff}.copyright{border-top:1px solid #22252b;margin-top:42px;padding-top:18px;color:#747b87;font-size:11px;display:flex;justify-content:space-between}
.page-hero{background:var(--ink);color:#fff;padding:82px 0}.page-hero p{max-width:720px;color:#adb3bf;margin-top:15px;font-size:16px}.crumb{font-size:11px;color:#7e8490;margin-bottom:18px}.crumb a{color:#fff}.detail{display:grid;grid-template-columns:1.35fr .65fr;gap:35px}.detail-main h2{margin:34px 0 12px}.detail-main p{color:#626976;font-size:14px}.check-list{list-style:none;margin-top:18px}.check-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.check-list li:before{content:"✓";color:var(--accent);font-weight:900;margin-right:10px}.side{height:max-content;position:sticky;top:100px}.side .price{margin:5px 0 16px}.side .btn{width:100%;margin-top:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:11px;padding:12px 13px;outline:none;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #efeeff}.field textarea{min-height:145px;resize:vertical}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.contact-card{background:var(--ink);color:#fff;border-radius:25px;padding:30px}.contact-card p{color:#aab0bb;font-size:13px}.contact-row{display:flex;gap:12px;margin-top:22px}.contact-row .icon{margin:0;background:#242732;color:#fff;width:42px;height:42px}.contact-row a{font-weight:700}.faq{max-width:850px;margin:40px auto}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:800;cursor:pointer;font-size:14px}.faq p{color:var(--muted);font-size:13px;padding-top:10px}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.module{border:1px solid var(--line);border-radius:15px;padding:15px}.module b{font-size:13px}.module span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.outcome{background:#f0efff;border-radius:18px;padding:20px;margin-top:20px}.outcome p{color:#555c69!important}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:#fff;padding:14px 17px;border-radius:12px;z-index:200;transform:translateY(130px);opacity:0;transition:.3s;font-size:12px;max-width:350px}.toast.show{transform:none;opacity:1}

/* =========================
   Premium Motion
   ========================= */
@keyframes fadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.reveal{opacity:0;animation:fadeInUp .75s cubic-bezier(.22,.61,.36,1) forwards}
.hero-copy{animation:fadeInUp .8s ease both}
.visual{animation:fadeInUp .9s .12s ease both}
.card,.step,.metric{animation:fadeInUp .7s ease both}
.float{animation:softFloat 4s ease-in-out infinite}
.hero-photo{width:100%;height:510px;object-fit:cover;border-radius:25px;display:block;filter:saturate(1.08) contrast(1.03);box-shadow:0 35px 90px rgba(0,0,0,.4)}
.hero-photo-wrap{position:relative;border-radius:25px}
.hero-photo-wrap:after{content:"";position:absolute;inset:0;border-radius:25px;background:linear-gradient(120deg,rgba(7,8,11,.08),rgba(0,166,251,.16));pointer-events:none}
.socials{display:flex;gap:8px;align-items:center}
.socials a{width:31px;height:31px;border:1px solid #343842;border-radius:50%;display:grid;place-items:center;color:#dfe2e8;font-size:12px;font-weight:800;transition:.2s}
.socials a:hover{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}
.top-left,.top-right{display:flex;align-items:center;gap:18px}.top-left span{white-space:nowrap}.top-right{gap:9px}.top-right>span{margin-right:3px;color:#858b96}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:950px){.nav-links{display:none}.nav-links.open{display:flex;position:absolute;left:4%;right:4%;top:68px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:4px}.nav-links.open>a{padding:10px 6px}.menu{display:block}.nav-actions{display:none}.mega{position:fixed;top:76px;left:4%;transform:none;width:92%;grid-template-columns:1fr 1fr}.mega-wrap:hover .mega,.mega-wrap:focus-within .mega{transform:none}.hero-in{grid-template-columns:1fr;padding:70px 0}.visual{max-width:700px}.service-grid,.course-grid,.portfolio-grid,.review-grid{grid-template-columns:1fr 1fr}.split,.contact-grid,.detail{grid-template-columns:1fr}.side{position:static}.steps{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
@media(max-width:620px){.top{display:none}.nav-in{height:68px}.mega{top:68px;grid-template-columns:1fr;padding:16px;max-height:80vh;overflow:auto}.mega-intro{display:none}.hero h1{font-size:43px}.hero-in{min-height:auto;padding:65px 0}.float{display:none}.section{padding:70px 0}.section-head{display:block}.section-head .btn{margin-top:20px}.service-grid,.course-grid,.portfolio-grid,.review-grid,.steps,.module-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.metric-grid{grid-template-columns:1fr 1fr}.cta{padding:32px 25px;display:block}.cta-actions{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:block}.copyright span{display:block;margin-top:7px}}

/* Mobile navigation + purchase modal */
@media(max-width:950px){
  .nav{position:sticky;top:0}
  .nav-in{position:relative}
  .nav-links{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:76px!important;
    width:100%!important;
    background:#fff!important;
    border:1px solid var(--line)!important;
    border-radius:0 0 18px 18px!important;
    padding:14px!important;
    box-shadow:0 20px 45px rgba(10,11,15,.14)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
    max-height:calc(100vh - 80px)!important;
    overflow-y:auto!important;
  }
  .nav-links.open{display:flex!important}
  .nav-links>a{padding:12px 8px!important}
  .mega-wrap{width:100%}
  .mega-wrap>a{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 8px!important}
  .mega-wrap:hover .mega,.mega-wrap:focus-within .mega{opacity:1;visibility:visible}
  .mega{
    position:static!important;
    transform:none!important;
    width:100%!important;
    grid-template-columns:1fr!important;
    box-shadow:none!important;
    border:1px solid var(--line)!important;
    border-radius:14px!important;
    padding:12px!important;
    margin:0 0 5px!important;
    max-height:none!important;
  }
  .mega-intro{display:none!important}
  .mega h4{margin-top:5px!important}
  .mega a.item{font-size:13px!important;padding:8px!important}
  .menu{display:block!important;position:relative;z-index:100;font-size:26px;line-height:1}
}
@media(max-width:620px){
  .nav-links{top:68px!important}
}
.purchase-modal{
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(4,7,13,.72);backdrop-filter:blur(7px);
  align-items:center;justify-content:center;padding:18px;
}
.purchase-modal.is-open{display:flex}
.purchase-modal-card{
  width:min(650px,100%);max-height:92vh;overflow:auto;background:#fff;
  border-radius:24px;padding:30px;position:relative;
  box-shadow:0 35px 100px rgba(0,0,0,.28);
  animation:fadeInUp .32s ease both;
}
.purchase-close{
  position:absolute;right:16px;top:16px;width:38px;height:38px;border:0;
  border-radius:50%;background:#f1f2f5;color:#151820;font-size:22px;
}
.purchase-modal-card h2{font-size:32px;margin:4px 0 7px}
.purchase-selected{
  background:#f0efff;border:1px solid #dedcff;border-radius:12px;padding:12px 14px;
  color:#0063bf;font-weight:800;font-size:13px;margin:18px 0;
}
.purchase-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.purchase-field{display:flex;flex-direction:column;gap:6px}
.purchase-field.full{grid-column:1/-1}
.purchase-field label{font-size:12px;font-weight:800}
.purchase-field input,.purchase-field textarea{
  border:1px solid var(--line);border-radius:11px;padding:12px 13px;outline:0;background:#fff;
}
.purchase-field input:focus,.purchase-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #efeeff}
.purchase-field textarea{min-height:120px;resize:vertical}
.purchase-actions{display:flex;gap:10px;margin-top:16px}
.purchase-actions .btn{flex:1}
.purchase-note{font-size:11px;color:#7b808b;margin-top:12px;text-align:center}
@media(max-width:620px){
  .purchase-modal-card{padding:24px 18px}
  .purchase-form{grid-template-columns:1fr}
  .purchase-field.full{grid-column:auto}
  .purchase-actions{flex-direction:column}
}

.floating-wa{
  position:fixed;right:22px;bottom:22px;z-index:90;
  display:inline-flex;align-items:center;gap:8px;
  background:#22d3ee;color:#06222a;padding:12px 16px;border-radius:999px;
  font-size:13px;font-weight:800;box-shadow:0 14px 35px rgba(10,11,15,.18);
  transition:.2s
}
.floating-wa:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,11,15,.23)}
@media(max-width:620px){.floating-wa{right:14px;bottom:14px;padding:11px 14px}.floating-wa span{display:none}}

/* Enhanced motion system */
@keyframes fadeInUpX{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes fadeInRightX{from{opacity:0;transform:translate3d(35px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes popInX{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes driftX{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.reveal{opacity:0;animation:fadeInUpX .72s cubic-bezier(.22,.61,.36,1) forwards}
.hero-copy{animation:fadeInUpX .86s cubic-bezier(.22,.61,.36,1) both}
.visual{animation:fadeInRightX .9s .12s cubic-bezier(.22,.61,.36,1) both}
.proof>div:nth-child(1){animation:popInX .55s .18s both}.proof>div:nth-child(2){animation:popInX .55s .27s both}.proof>div:nth-child(3){animation:popInX .55s .36s both}
.tech-card{animation:popInX .55s both}
.float{animation:driftX 4s ease-in-out infinite}
.tech-section{background:linear-gradient(135deg,#080b15,#121831);color:#fff}
.tech-section p{color:#aeb5c6}
.tech-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}
.tech-card{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:16px;padding:16px;display:flex;align-items:center;gap:11px}
.tech-logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#252b45;font-weight:800;font-size:16px}
.tech-card b{font-size:12px}.tech-card span{display:block;font-size:10px;color:#97a0b4;margin-top:2px}
.tech-heading{max-width:360px}.tech-heading h2{color:#fff}
@media(max-width:950px){.tech-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.tech-list{grid-template-columns:1fr 1fr}}
/* Mobile mega menu is click-controlled */
@media(max-width:950px){
  .mega-wrap .mega{display:none!important;opacity:1!important;visibility:visible!important}
  .mega-wrap.open .mega{display:grid!important}
  .mega-wrap.open>a{color:var(--accent)}
}

/* New conversion sections */
.case-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:18px;margin-top:42px}
.case-card{overflow:hidden;padding:0}.case-visual{min-height:290px;background:linear-gradient(135deg,#131827,#252e4a);position:relative;padding:28px;display:flex;align-items:end;overflow:hidden}
.case-visual:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-170px;top:-170px;background:radial-gradient(circle,rgba(109,93,252,.45),transparent 68%)}
.case-visual:after{content:"";position:absolute;inset:40px auto auto 40px;width:230px;height:150px;border:1px solid rgba(255,255,255,.09);border-radius:16px;transform:rotate(-5deg)}
.case-label{position:relative;z-index:2;color:#fff}.case-label small{display:block;color:#9ea6b9;font-size:11px;margin-bottom:6px}.case-label strong{display:block;font:800 31px/1.05 "Plus Jakarta Sans";letter-spacing:-.04em}.case-body{padding:23px}.case-body p{margin-top:8px}.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px}.industry{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.industry .icon{margin-bottom:14px}.industry h3{font-size:17px}.industry p{font-size:13px;margin-top:5px}.engage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.engage-card{padding:26px}.engage-card .price{font-size:25px}.engage-card ul{margin:18px 0}.engage-card li{font-size:13px;padding:7px 0;border-bottom:1px solid var(--line);list-style:none}.engage-card li:before{content:"✓";color:var(--accent);font-weight:900;margin-right:9px}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.trust{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.trust h3{font-size:17px}.trust p{font-size:13px;margin-top:7px}.logo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}.client-chip{padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:11px;font-weight:800;color:#555c69}
.tech-card img{width:27px;height:27px;object-fit:contain;display:block}.tech-logo{display:grid;place-items:center;overflow:hidden}
.tech-card img + b{line-height:1.1}
@media(max-width:950px){.case-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:repeat(2,1fr)}.engage-grid,.trust-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.industry-grid,.engage-grid,.trust-grid{grid-template-columns:1fr}.case-visual{min-height:240px}}

.section p{font-size:16px}.page-hero p{font-size:17px}.card p{font-size:15px}


/* =========================
   SEO / Readability
   ========================= */
body{font-size:16px}.section p{font-size:16px}.card p{font-size:15px}.page-hero p{font-size:17px}

/* Brand logo variants */
.brand-logo{height:43px;width:auto;object-fit:contain;display:block}
.brand-logo.light{display:block}.brand-logo.dark{display:none}
.footer .brand-logo.light{display:block}
.logo-mark-only{height:38px;width:auto;object-fit:contain}
@media(prefers-color-scheme:dark){.brand-logo.light{display:block}}
/* Floating Telegram button */
.floating-tg{
 position:fixed;right:22px;bottom:82px;z-index:91;
 display:inline-flex;align-items:center;gap:8px;
 background:#229ED9;color:#fff;padding:11px 15px;border-radius:999px;
 font-size:13px;font-weight:800;box-shadow:0 14px 35px rgba(10,11,15,.18);transition:.2s
}
.floating-tg:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,11,15,.23)}
@media(max-width:620px){.floating-tg{right:14px;bottom:66px;padding:10px 13px}.floating-tg span{display:none}}
/* Professional submenu SVG icon */
.menu-item-icon{width:17px;height:17px;flex:0 0 17px;vertical-align:-3px}
.mega a.item{display:flex!important;align-items:center;gap:9px}
.mega a.item:hover .menu-item-icon{transform:translateX(2px)}
.menu-item-icon{transition:.18s}

/* FreelanSoft brand additions */
.floating-tg{position:fixed;right:22px;bottom:82px;z-index:91;display:inline-flex;align-items:center;gap:8px;background:#229ED9;color:#fff;padding:11px 15px;border-radius:999px;font-size:13px;font-weight:800;box-shadow:0 14px 35px rgba(10,11,15,.18);transition:.2s}
.floating-tg:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(10,11,15,.23)}
.brand-logo{height:43px;width:auto;object-fit:contain;display:block}
.brand-logo.light{display:block}.brand-logo.dark{display:none}
.mega a.item{display:flex!important;align-items:center;gap:9px}
.menu-item-icon{width:17px;height:17px;flex:0 0 17px;vertical-align:-3px;transition:.18s}
.mega a.item:hover .menu-item-icon{transform:translateX(2px)}
@media(max-width:620px){.floating-tg{right:14px;bottom:66px;padding:10px 13px}.floating-tg span{display:none}}

/* Final brand sizing */
.nav .brand-logo{width:152px;height:auto;max-height:38px;object-fit:contain}
.footer .brand-logo{width:175px;height:auto;max-height:45px;object-fit:contain}
.hero-photo{width:100%;height:510px;object-fit:cover;object-position:center;border-radius:25px}

/* Final visual polish: compact, consistent brand marks and headings */
.nav .brand-logo{display:block!important;width:152px!important;height:38px!important;max-width:152px!important;max-height:38px!important;object-fit:contain!important}
.footer .brand-logo{display:block!important;width:175px!important;height:45px!important;max-width:175px!important;max-height:45px!important;object-fit:contain!important}
h1{font-size:clamp(38px,5vw,64px)}
h2{font-size:clamp(30px,3.5vw,46px)}
h3{font-size:20px}

/* Final hero image alignment */
.hero-in{align-items:start;padding-top:72px;padding-bottom:72px}
.hero-in .hero-copy{padding-top:34px}
.hero-in .visual{margin-top:-34px}
.hero-photo-wrap{transform:translateY(-8px)}
@media(max-width:950px){
  .hero-in{padding-top:60px;padding-bottom:65px}
  .hero-in .hero-copy{padding-top:0}
  .hero-in .visual{margin-top:8px}
  .hero-photo-wrap{transform:none}
}

/* Final brand/header polish */
.nav-in{min-height:76px}
.nav .brand{display:flex;align-items:center;height:76px;flex:0 0 auto}
.nav .brand-logo{width:165px!important;height:auto!important;max-width:165px!important;max-height:none!important;object-fit:contain!important}
.footer .brand-logo{width:190px!important;height:auto!important;max-width:190px!important;object-fit:contain!important}
.dropdown-chevron{width:13px;height:13px;display:inline-block;vertical-align:middle;transition:transform .2s ease;stroke:currentColor}
.mega-wrap:hover > a .dropdown-chevron{transform:rotate(180deg)}
@media(max-width:950px){
  .nav .brand{height:68px}
  .nav .brand-logo{width:150px!important;max-width:150px!important}
  .mobile-contact-bar{display:flex!important}
}
@media(min-width:951px){.mobile-contact-bar{display:none!important}}
.mobile-contact-bar{
  background:#07090d;color:#fff;padding:8px 4%;border-bottom:1px solid #1d212a;
  gap:12px;align-items:center;justify-content:space-between;font-size:11px;
}
.mobile-contact-left{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.mobile-contact-left a{color:#fff;font-weight:700}
.mobile-socials{display:flex;gap:6px;align-items:center}
.mobile-socials a{width:27px;height:27px;border:1px solid #363b46;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800}
.mobile-socials a:hover{background:#0064EF;border-color:#0064EF}

/* Hero visual — premium motion */
.hero-in .hero-photo-wrap{
  animation:heroPhotoIn 1.05s cubic-bezier(.16,1,.3,1) .16s both;
  transform-origin:center center;
}
.hero-in .hero-photo{
  transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s ease,box-shadow .55s ease;
}
.hero-in .hero-photo-wrap:hover .hero-photo{
  transform:scale(1.018);
  filter:saturate(1.08) contrast(1.04) brightness(1.03);
  box-shadow:0 38px 110px rgba(0,22,60,.42);
}
.hero-in .visual:before{
  content:"";
  position:absolute;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,100,239,.20),transparent 68%);
  right:-45px;top:-45px;
  pointer-events:none;
  animation:heroGlow 5s ease-in-out infinite;
}
.hero-in .visual:after{
  content:"";
  position:absolute;
  width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,166,250,.16),transparent 68%);
  left:-25px;bottom:-25px;
  pointer-events:none;
  animation:heroGlow 6.5s ease-in-out 1s infinite reverse;
}
@keyframes heroPhotoIn{
  from{opacity:0;transform:translate3d(38px,16px,0) scale(.965)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes heroGlow{
  0%,100%{transform:translate3d(0,0,0);opacity:.72}
  50%{transform:translate3d(0,-10px,0);opacity:1}
}
.hero-proof{
  animation:fadeInUpX .7s ease .38s both;
}
@media(max-width:950px){
  .hero-in .hero-photo-wrap{animation-delay:.08s}
  .hero-in .visual:before,.hero-in .visual:after{display:none}
}

/* Hero background blend */
.hero-in .hero-photo-wrap{overflow:hidden;background:#07152d}
.hero-in .hero-photo{width:100%;height:510px;object-fit:cover;border-radius:25px;display:block}
.hero-in .hero-photo-wrap:after{background:linear-gradient(90deg,rgba(7,15,31,.22),rgba(7,15,31,0) 48%,rgba(7,15,31,.10))}
/* Rich section hover system */
.card,.industry,.trust,.team-card,.case-card,.engage-card{will-change:transform,box-shadow;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.card:hover,.industry:hover,.trust:hover,.team-card:hover,.case-card:hover,.engage-card:hover{transform:translateY(-8px);box-shadow:0 22px 60px rgba(0,20,60,.14);border-color:rgba(0,100,239,.25)}
.icon{transition:transform .3s ease,box-shadow .3s ease}
.card:hover .icon,.industry:hover .icon,.trust:hover .icon{transform:scale(1.08) rotate(-3deg);box-shadow:0 10px 24px rgba(0,100,239,.12)}
.btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn:hover{box-shadow:0 12px 26px rgba(0,100,239,.18)}
.marquee-in span{transition:transform .25s ease,color .25s ease}.marquee-in span:hover{transform:translateY(-2px);color:#fff}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}
.team-card{position:relative;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden}
.team-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--cyan));opacity:.9}
.team-card.featured{background:linear-gradient(145deg,#07162c,#10264b);color:#fff;border-color:#1b4376}
.team-card.featured p{color:#b8c4d8}
.team-avatar{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf3ff,#dceaff);color:var(--accent);font:800 16px/1 "Plus Jakarta Sans";margin-bottom:19px}
.team-card.featured .team-avatar{background:linear-gradient(135deg,#0d66dc,#138cf6);color:#fff;box-shadow:0 12px 28px rgba(0,100,239,.25)}
.team-role{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:8px}
.team-card.featured .team-role{color:#76b7ff}
.team-card h3{font-size:20px;margin-bottom:8px}
.team-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.team-tags span{font-size:10px;font-weight:800;color:#5f6876;background:#f2f5f9;border:1px solid #e6eaf0;border-radius:999px;padding:5px 8px}
.team-card.featured .team-tags span{background:#193557;border-color:#2b527f;color:#d8e7fb}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}}

/* ==========================================================
   FREELANSOFT REFERENCE DESIGN THEME
   Visual language based on the supplied dark-blue homepage:
   near-black navy background, electric blue accents, soft
   glass borders, white typography and restrained shadows.
   ========================================================== */

html,body{background:#020a18!important;color:#f7f9ff!important}
body{font-size:15.5px;line-height:1.7;overflow-x:hidden}
a{color:inherit}
.top{background:#02050b!important;border-bottom:1px solid rgba(255,255,255,.06)!important;color:#d7e1f2!important}
.top a{color:#fff!important}
.nav{
  background:rgba(2,10,24,.92)!important;
  border-bottom:1px solid rgba(78,118,176,.20)!important;
  box-shadow:0 10px 40px rgba(0,0,0,.20)!important
}
.nav-in{min-height:76px}
.nav-links>a,.nav-links>a:visited{color:#dbe6f6!important}
.nav-links>a:hover,.nav-links>a.active{color:#fff!important}
.nav .brand{color:#fff!important}
.nav .brand-logo{width:160px!important;max-width:160px!important;max-height:39px!important}
.btn-outline{background:transparent!important;color:#fff!important;border-color:#3a4c68!important}
.btn-outline:hover{border-color:#0064ef!important;background:rgba(0,100,239,.10)!important}
.btn-primary,.btn-accent{background:#0064ef!important;color:#fff!important;border-color:#0064ef!important;box-shadow:0 12px 30px rgba(0,100,239,.20)!important}
.btn-lime{background:#0064ef!important;color:#fff!important}
.btn-lime:hover,.btn-primary:hover,.btn-accent:hover{background:#1686ff!important}
.hero{
  background:
    radial-gradient(circle at 78% 20%,rgba(0,100,239,.28),transparent 30%),
    radial-gradient(circle at 20% 68%,rgba(0,166,255,.12),transparent 28%),
    #020a18!important;
}
.hero:before{
  background:radial-gradient(circle,rgba(0,100,239,.28),transparent 66%)!important
}
.hero h1,.hero h2,.hero h3,.hero strong{color:#fff}
.hero-copy>p{color:#b7c5d8!important}
.hero .eyebrow{color:#60aaff!important}
.proof strong{color:#fff!important}
.proof span{color:#8fa1ba!important}
.section{background:#020a18!important}
.soft,.tech-section{background:#061128!important}
.soft .card,.section .card,.industry,.trust,.team-card,.case-card,.engage-card,.course-card{
  background:linear-gradient(180deg,#0a1830,#08152b)!important;
  border-color:#223858!important;
  color:#f3f7ff!important;
  box-shadow:0 14px 45px rgba(0,0,0,.20)!important
}
.card p,.industry p,.trust p,.team-card p,.case-body p,.engage-card p,.course-body p{color:#a7b6ca!important}
.card:hover,.industry:hover,.trust:hover,.team-card:hover,.case-card:hover,.engage-card:hover{
  transform:translateY(-8px)!important;
  border-color:rgba(0,100,239,.55)!important;
  box-shadow:0 24px 70px rgba(0,58,120,.28)!important
}
.icon{
  background:#0e2748!important;
  color:#39b7ff!important;
  border:1px solid rgba(0,100,239,.25)!important
}
.pill{background:#0d2340!important;color:#63b8ff!important;border:1px solid rgba(0,100,239,.24)!important}
.price,.course-info b,.metric strong,.team-role,.link{color:#4cb8ff!important}
.check-list li{border-bottom-color:#223452!important;color:#dbe6f5!important}
.check-list li:before{color:#2fa9ff!important}
.stats{background:#04122a!important}
.stats .stat{border-color:#1f3451!important}
.stat span{color:#91a4bc!important}
.marquee{background:#02050b!important;border-color:#1f2e45!important}
.marquee-in{color:#91a1b8!important}
.marquee-in b{color:#fff!important}
.metric-card{
  background:linear-gradient(145deg,#06142d,#0b1f40)!important;
  border:1px solid #26466f!important;
  color:#fff!important
}
.metric{border-color:#294766!important;background:rgba(255,255,255,.025)!important}
.metric span{color:#94a8c2!important}
.steps .step{border-color:#263b58!important}
.step h3{color:#fff!important}
.step p{color:#97a8be!important}
.page-hero{
  background:
    radial-gradient(circle at 82% 0%,rgba(0,100,239,.20),transparent 34%),
    #020a18!important;
  border-bottom:1px solid rgba(38,64,96,.45)!important
}
.page-hero p{color:#aebdd0!important}
.crumb,.crumb a{color:#7f97b5!important}
.detail-main p{color:#a2b2c6!important}
.side{background:linear-gradient(180deg,#0a1830,#08152b)!important;border-color:#26415f!important}
.contact-card{
  background:linear-gradient(145deg,#06142d,#0c2241)!important;
  border:1px solid #294b76!important
}
.form-grid input,.form-grid textarea,.form-grid select,
.field input,.field textarea,.field select,
.purchase-field input,.purchase-field textarea{
  background:#07162c!important;
  color:#eef4ff!important;
  border-color:#2b4566!important
}
.form-grid input::placeholder,.form-grid textarea::placeholder,
.field input::placeholder,.field textarea::placeholder,
.purchase-field input::placeholder,.purchase-field textarea::placeholder{color:#71849f!important}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,
.field input:focus,.field textarea:focus,.field select:focus,
.purchase-field input:focus,.purchase-field textarea:focus{
  border-color:#0064ef!important;box-shadow:0 0 0 3px rgba(0,100,239,.14)!important
}
.faq details{border-color:#263b58!important}
.faq summary{color:#f4f7ff!important}
.faq p{color:#9fb1c6!important}
.cta{
  background:linear-gradient(135deg,#06142d,#09234a)!important;
  border:1px solid #23466f!important;
  color:#fff!important
}
.cta p{color:#a9bad0!important}
.footer{background:#02050b!important;border-top:1px solid #1c2c44!important}
.footer p,.footer a{color:#8fa1b7!important}
.footer a:hover{color:#fff!important}
.footer h4{color:#fff!important}
.footer .brand-logo{width:185px!important;max-width:185px!important}
.copyright{border-color:#1d2b40!important;color:#6f8198!important}
.hero-photo-wrap{
  box-shadow:0 30px 90px rgba(0,52,112,.34)!important;
  border:1px solid rgba(0,100,239,.22)!important
}
.hero-in .visual:before{background:radial-gradient(circle,rgba(0,100,239,.22),transparent 68%)!important}
.hero-in .visual:after{background:radial-gradient(circle,rgba(0,166,255,.16),transparent 68%)!important}
.floating-wa{background:#19d46b!important;color:#062318!important}
.floating-tg{background:#229ed9!important;color:#fff!important}
.socials a,.mobile-socials a{border-color:#32435c!important;color:#e9f2ff!important}
.socials a:hover,.mobile-socials a:hover{background:#0064ef!important;border-color:#0064ef!important}
.mobile-contact-bar{background:#02050b!important;border-color:#1d2d43!important}
.mega{
  background:#07152b!important;
  border-color:#2a4364!important;
  box-shadow:0 30px 80px rgba(0,0,0,.42)!important
}
.mega>div:not(.mega-intro){background:transparent!important}
.mega h4{color:#fff!important}
.mega a.item{color:#a9b8ca!important}
.mega a.item:hover{color:#fff!important}
.mega-intro{
  background:linear-gradient(145deg,#071224,#102c52)!important;
  border:1px solid #2a4a70!important;
  color:#fff!important
}
.dropdown-chevron{color:#dbe9ff!important}
.modal,.purchase-modal{background:rgba(0,7,19,.78)!important}
.modal-box,.purchase-modal-card{
  background:linear-gradient(180deg,#09172f,#071328)!important;
  color:#fff!important;border:1px solid #294565!important
}
.purchase-selected{background:#0d2340!important;border-color:#27518a!important;color:#6bbcff!important}
.notice{background:#0c2039!important;color:#a9b8cb!important;border-color:#25476d!important}
.case-visual{background:linear-gradient(135deg,#08162d,#12345e)!important}
.project-cover{background:linear-gradient(135deg,#0a1b36,#0e2a4c)!important;color:#67bdff!important}
.course-cover{background:linear-gradient(135deg,#06142d,#0d2d54)!important}
.course-cover .pill{background:#0d2441!important}
.team-card.featured{
  background:linear-gradient(145deg,#061329,#0d2a50)!important;
  border-color:#24507c!important
}
.team-tags span{background:#0d213b!important;border-color:#2b4665!important;color:#a9c0db!important}
.industry .icon,.trust .icon{border-color:#28517d!important}
.reveal{animation-fill-mode:both}
@media(max-width:950px){
  .nav-links.open{background:#061128!important;border-color:#28415f!important}
  .nav-links.open>a{color:#fff!important}
  .mega{background:#08162d!important;border-color:#294362!important}
  .mega a.item{color:#aab9cd!important}
}
@media(max-width:620px){
  .hero h1{font-size:42px!important}
  .hero-photo{height:380px!important}
}
/* Keep user-supplied master logo visually identical, only size/color context changes. */

.hero{
  position:relative;
  isolation:isolate;
}
.hero:after{
  content:"";
  position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.42;
  background-image:
    radial-gradient(circle at 12% 24%,rgba(64,167,255,.75) 0 1px,transparent 2px),
    radial-gradient(circle at 27% 71%,rgba(0,100,239,.72) 0 1px,transparent 2px),
    radial-gradient(circle at 61% 16%,rgba(72,177,255,.65) 0 1px,transparent 2px),
    radial-gradient(circle at 86% 47%,rgba(0,166,255,.65) 0 1px,transparent 2px);
  background-size:220px 180px,260px 220px,310px 230px,280px 240px;
  animation:starsDrift 18s linear infinite;
}
@keyframes starsDrift{from{background-position:0 0,0 0,0 0,0 0}to{background-position:110px 55px,-90px 80px,70px -60px,-80px 70px}}

/* ==========================================================
   MOBILE HEADER / HERO FINAL FIXES
   ========================================================== */
@media (max-width:950px){
  .menu{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:transparent!important;
    border:0!important;
    font-size:30px!important;
    line-height:1!important;
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    z-index:110!important;
  }
  .nav-in{position:relative}
  .nav{z-index:100!important}
  .nav-links.open{z-index:120!important}
}
.hero-photo-wrap{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.hero-photo{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  mix-blend-mode:screen;
  filter:saturate(1.1) contrast(1.03);
}
.hero-photo-wrap:before{
  content:"";
  position:absolute;
  inset:-50px;
  background:radial-gradient(circle at 50% 50%,rgba(0,100,239,.18),transparent 62%);
  filter:blur(18px);
  z-index:-1;
  animation:heroAmbient 6s ease-in-out infinite;
}
.hero-photo-wrap:after{
  border:0!important;
  background:linear-gradient(90deg,rgba(2,10,24,.36),transparent 28%,transparent 72%,rgba(2,10,24,.18))!important;
}
@keyframes heroAmbient{
  0%,100%{transform:scale(1);opacity:.55}
  50%{transform:scale(1.08);opacity:.92}
}
.hero-in .hero-photo{
  animation:heroImageFloat 8s ease-in-out infinite;
}
@keyframes heroImageFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-7px,0)}
}
/* Moving particles around hero visual */
.hero-in .visual .float.two{animation:floatBadge 5s ease-in-out infinite!important}
@keyframes floatBadge{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-9px,0)}
}
