:root{--bg:#fbfdff;--soft:#f5f7ff;--text:#17162f;--muted:#68677f;--purple:#7a4cff;--violet:#9b5cff;--pink:#ff4fb3;--blue:#3c8dff;--gold:#ffbd25;--green:#33c777;--shadow:0 25px 70px rgba(45,35,120,.13);--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#f5edff,transparent 30%),radial-gradient(circle at top right,#ecf5ff,transparent 28%),var(--bg);color:var(--text);overflow-x:hidden}a{text-decoration:none;color:inherit}.section{width:min(1180px,92%);margin:auto;padding:85px 0}.topbar{position:sticky;top:0;z-index:20;height:78px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(122,76,255,.08)}.brand{display:flex;gap:10px;align-items:center;font-size:14px;line-height:.85}.brand small{font-size:11px}.logo-m{font-weight:900;font-size:34px;letter-spacing:-6px;background:linear-gradient(135deg,#328dff,#a34fff,#ff4fb3);-webkit-background-clip:text;color:transparent;text-shadow:0 10px 26px rgba(122,76,255,.22)}nav{display:flex;gap:30px;font-size:14px;font-weight:700;color:#262445}nav a{position:relative}nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink));border-radius:5px;transition:.35s}nav a:hover:after{width:100%}.btn{border:0;border-radius:13px;padding:15px 24px;font-weight:800;display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:.35s;box-shadow:none}.primary{background:linear-gradient(135deg,var(--purple),var(--violet));color:#fff;box-shadow:0 14px 34px rgba(122,76,255,.28)}.primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 50px rgba(122,76,255,.36)}.ghost{background:#fff;border:1px solid #dce0ee;color:#24233d}.ghost:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.burger{display:none}.hero{min-height:720px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.pill{display:inline-flex;align-items:center;background:#ede8ff;color:#7a4cff;border-radius:999px;padding:10px 18px;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.hero h1,.section-head h2{font-size:clamp(36px,5vw,72px);line-height:1.02;margin:25px 0 20px;letter-spacing:-.055em}.hero h1 span,.section-head h2 span{background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink));-webkit-background-clip:text;color:transparent}.hero p,.section-head p{font-size:18px;color:var(--muted);line-height:1.7;max-width:560px}.hero-actions{display:flex;gap:18px;margin-top:32px;flex-wrap:wrap}.mini-proof{display:flex;align-items:center;gap:18px;margin-top:34px}.faces span{display:inline-grid;place-items:center;width:34px;height:34px;background:#fff;border-radius:50%;box-shadow:0 7px 18px rgba(0,0,0,.08);margin-left:-10px}.faces span:first-child{margin-left:0}.stars{letter-spacing:3px;color:var(--gold);display:block;text-shadow:0 0 12px rgba(255,189,37,.35);animation:starPulse 1.8s infinite alternate}.big{font-size:22px}.hero-visual{height:560px;position:relative;perspective:1000px}.orbit{position:absolute;inset:40px 10px;border:2px solid rgba(122,76,255,.13);border-radius:50%;animation:spin 12s linear infinite}.developer-card{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotateY(-10deg);width:310px;height:380px;border-radius:34px;background:linear-gradient(180deg,#fff,#f2f4ff);box-shadow:var(--shadow);display:grid;place-items:center;animation:float 5s ease-in-out infinite}.avatar{font-size:150px;filter:drop-shadow(0 20px 18px rgba(46,38,100,.2))}.laptop{position:absolute;bottom:45px;width:220px;height:95px;background:#d9dce8;border-radius:12px 12px 18px 18px;box-shadow:0 18px 40px rgba(0,0,0,.13)}.laptop span{display:block;width:90px;height:9px;background:#fff;border-radius:10px;margin:76px auto 0}.floating{position:absolute;background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow);font-weight:900;animation:float 4s ease-in-out infinite}.code{right:10%;top:22%;font-size:38px;color:var(--purple)}.css{left:20%;top:33%;background:#3c8dff;color:#fff}.js{left:28%;bottom:28%;background:#ffc12c}.php{left:38%;bottom:16%;background:#777bb4;color:#fff}.status{left:7%;bottom:28%;font-size:14px}.status i{font-size:9px;color:var(--green)}.stats{margin-top:-50px;background:rgba(255,255,255,.86);border:1px solid rgba(122,76,255,.1);box-shadow:var(--shadow);border-radius:var(--radius);padding:34px;display:grid;grid-template-columns:1.1fr repeat(3,1fr) 1.2fr;gap:20px}.stats div,.stats a{display:flex;flex-direction:column;justify-content:center}.stats strong{font-size:33px}.stats small{font-size:16px}.stats span{color:var(--muted);font-size:14px}.stats i{font-size:34px;color:var(--purple);margin-bottom:8px}.codeur-box{border:1px solid #e7e9f5;border-radius:18px;text-align:center;background:#fff;padding:18px}.codeur-box b{font-size:24px}.codeur-box span{color:#287de8}.section-head{max-width:600px}.skills{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:center}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.skill{display:grid;grid-template-columns:52px 1fr 48px;gap:16px;align-items:center;background:#fff;border-radius:20px;padding:18px;box-shadow:0 12px 35px rgba(46,38,100,.08);transition:.35s}.skill:hover{transform:translateY(-7px) rotateX(5deg);box-shadow:var(--shadow)}.skill i{font-size:42px}.skill strong{display:block;margin-bottom:10px}.skill span{display:block;height:8px;background:#e9ecf8;border-radius:99px;overflow:hidden}.skill em{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink));border-radius:99px;transition:1.4s cubic-bezier(.2,.8,.2,1)}.skill.inview em{width:var(--w)}.soft{width:100%;max-width:none;background:linear-gradient(180deg,#f9fbff,#f4f7ff);border-radius:52px;padding-left:4%;padding-right:4%}.soft>.section-head,.soft>.filters,.soft>.portfolio-grid,.soft>.review-grid,.soft>.codeur-widget{width:min(1180px,92%);margin-left:auto;margin-right:auto}.filters{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:15px;margin-bottom:40px}.filter{padding:15px 24px;border-radius:16px;border:1px solid #e2e6f5;background:#fff;color:#33334d;font-weight:900;cursor:pointer;transition:.35s;box-shadow:0 10px 25px rgba(46,38,100,.05)}.filter i{font-size:20px;margin-right:8px}.filter:hover,.filter.active{transform:translateY(-5px);background:linear-gradient(135deg,var(--purple),var(--violet));color:#fff;box-shadow:0 16px 35px rgba(122,76,255,.25)}.filter.prestashop i{color:#df0067}.filter.shopify i{color:#6dbb43}.filter.wordpress i{color:#21759b}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.work-card{background:#fff;border-radius:24px;padding:18px;box-shadow:0 12px 36px rgba(46,38,100,.08);transition:.45s;transform-style:preserve-3d}.work-card:hover{transform:translateY(-12px) rotateX(4deg) rotateY(-4deg);box-shadow:var(--shadow)}.work-card.hide{display:none}.mac{background:linear-gradient(180deg,#24253a,#11121e);border-radius:18px 18px 22px 22px;padding:12px 10px 20px;position:relative}.mac:after{content:"";position:absolute;left:17%;right:17%;bottom:-15px;height:16px;background:linear-gradient(180deg,#d9dce8,#aeb4c6);border-radius:0 0 50% 50%;filter:drop-shadow(0 14px 12px rgba(0,0,0,.12))}.mac-top{height:18px;display:flex;gap:6px}.mac-top span{width:8px;height:8px;border-radius:50%;background:#ff5f57}.mac-top span:nth-child(2){background:#ffbd2e}.mac-top span:nth-child(3){background:#28c840}.mac img{width:100%;height:190px;object-fit:cover;border-radius:8px;background:#eef1f8;display:block}.work-info{padding:28px 4px 4px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.work-info h3{margin:0;flex-basis:100%}.tag{font-size:12px;font-weight:900;padding:7px 11px;border-radius:999px}.tag.prestashop{background:#ffeaf4;color:#df0067}.tag.shopify{background:#efffe8;color:#4a9a27}.tag.wordpress{background:#e8f5ff;color:#21759b}.work-info a{margin-left:auto;font-weight:900;color:var(--purple)}.method{position:relative}.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;position:relative}.steps:before{content:"";position:absolute;top:58px;left:8%;right:8%;border-top:3px dashed rgba(122,76,255,.25)}.step{text-align:center;position:relative;transition:.35s}.step:hover{transform:translateY(-10px)}.step-icon{margin:auto;width:86px;height:86px;border-radius:22px;background:#fff;display:grid;place-items:center;font-size:38px;box-shadow:0 15px 34px rgba(46,38,100,.1);position:relative;z-index:1}.step h3{font-size:15px}.step p{font-size:14px;color:var(--muted);line-height:1.55}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.review{background:#fff;border:1px solid #e9ebf6;border-radius:22px;padding:30px;text-align:center;box-shadow:0 12px 35px rgba(46,38,100,.07);transition:.35s}.review:hover{transform:translateY(-10px);box-shadow:var(--shadow)}.starline span{display:inline-block;color:var(--gold);font-size:24px;margin:0 1px;text-shadow:0 0 12px rgba(255,189,37,.35);animation:starBounce 1.4s infinite alternate}.starline span:nth-child(2){animation-delay:.1s}.starline span:nth-child(3){animation-delay:.2s}.starline span:nth-child(4){animation-delay:.3s}.starline span:nth-child(5){animation-delay:.4s}.review p{color:#55536b;line-height:1.65}.client span{font-size:30px}.client b,.client small{display:block}.client small{color:var(--muted)}.codeur-widget{text-align:center;margin-top:35px;background:#fff;border-radius:24px;padding:20px;box-shadow:0 12px 35px rgba(46,38,100,.07)}.contact{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}.contact-card,.form-card{min-height:430px;border-radius:26px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}.purple{background:linear-gradient(145deg,#7049ff,#9c5cff);color:#fff}.purple p{line-height:1.55}.purple i{font-size:22px;margin-right:8px}.rocket{position:absolute;right:18px;bottom:16px;font-size:100px;animation:float 4s ease-in-out infinite}.form-card{background:#fff}.form-card h2,.contact-card h2{margin-top:0}input,textarea,select{width:100%;border:1px solid #e1e5f2;border-radius:13px;padding:15px 16px;margin:9px 0;font:inherit;background:#fbfcff;outline:none;transition:.25s}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 5px rgba(122,76,255,.1)}textarea{height:145px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-card .btn{width:100%;justify-content:center;margin-top:10px}.calendly{display:block;text-align:center;margin-top:12px;color:var(--purple);font-weight:800}.form-result{margin-top:12px;font-weight:800;color:var(--green)}footer{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;color:#6d6b82;border-top:1px solid #edf0f8}footer div{display:flex;gap:18px;color:var(--purple)}.to-top{position:fixed;right:25px;bottom:25px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;display:grid;place-items:center;box-shadow:0 15px 35px rgba(122,76,255,.3);z-index:10}.reveal{opacity:0;transform:translateY(32px);transition:1s}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.15s}.cursor-orb{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(122,76,255,.12),transparent 65%);pointer-events:none;z-index:-1;transform:translate(-50%,-50%)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes starPulse{to{filter:brightness(1.22);transform:scale(1.03)}}@keyframes starBounce{to{transform:translateY(-5px) scale(1.12)}}
.cms-logo{width:54px;height:54px;border-radius:16px;display:inline-grid!important;place-items:center;font-style:normal!important;font-family:Inter,Arial,sans-serif!important;font-weight:1000;font-size:26px;color:#fff;box-shadow:0 12px 26px rgba(46,38,100,.14);position:relative;overflow:hidden}.cms-logo:after{content:"";position:absolute;inset:-30%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.45),transparent 65%);transform:translateX(-100%) rotate(20deg);animation:logoShine 2.8s infinite}.prestashop-logo{background:linear-gradient(135deg,#df0067,#ff4fb3)}.prestashop-logo:before{content:"PS"}.shopify-logo{background:linear-gradient(135deg,#6fbe44,#96bf48)}.shopify-logo:before{content:"S"}.cms-logo.mini{width:25px;height:25px;border-radius:8px;font-size:12px;vertical-align:-6px;margin-right:8px}.filter .cms-logo{box-shadow:none}.filter:hover .cms-logo:after,.filter.active .cms-logo:after{animation-duration:1.2s}.skill .cms-logo{font-size:22px}.skill:hover .cms-logo{transform:rotate(-5deg) scale(1.08);transition:.35s}@keyframes logoShine{0%{transform:translateX(-120%) rotate(20deg)}45%,100%{transform:translateX(120%) rotate(20deg)}}
@media(max-width:1000px){nav{display:none}.burger{display:block;border:0;background:#fff;border-radius:12px;padding:12px;box-shadow:0 8px 22px rgba(0,0,0,.07)}.hero,.skills,.contact{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.steps,.review-grid{grid-template-columns:1fr 1fr}.steps:before{display:none}}@media(max-width:650px){.topbar .btn{display:none}.section{padding:58px 0}.hero{min-height:auto}.hero-visual{height:430px}.stats,.skill-grid,.portfolio-grid,.steps,.review-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.contact-card,.form-card{padding:24px}footer{flex-direction:column;gap:20px}.mac img{height:170px}}

.cms-img{width:54px;height:54px;object-fit:contain;border-radius:14px;background:#fff;padding:6px;box-shadow:0 12px 26px rgba(46,38,100,.14);transition:.35s}.skill:hover .cms-img{transform:rotate(-5deg) scale(1.08)}.filter-cms-icon{width:25px;height:25px;object-fit:contain;vertical-align:-6px;margin-right:8px;filter:drop-shadow(0 4px 7px rgba(46,38,100,.12));transition:.35s}.filter:hover .filter-cms-icon,.filter.active .filter-cms-icon{transform:scale(1.18) rotate(-6deg);filter:drop-shadow(0 7px 12px rgba(255,255,255,.25))}.tag{display:inline-flex;align-items:center;gap:6px}.tag-cms-icon{width:18px;height:18px;object-fit:contain;border-radius:4px}.prestashop-img,.shopify-img,.wordpress-img{background:#fff}
@media (max-width: 768px){
.developer-card {
    position: sticky !important;
}
section.stats.section.reveal.visible {
    text-align: center;
}
.orbit {
    display: none !important;
}
}
