:root{--navy:#1a3a6b;--blue-mid:#2e5fa3;--blue-accent:#2a5d83;--blue-light:#7bbfdf;--blue-ice:#e8f2fb;--bg:#f4f8fd;--white:#fff;--night:#0e1e3a;--text:#1a1a2e;--text-muted:#415068;--border:#2a5fa31f}[data-theme=dark]{--navy:#f8fafc;--blue-mid:#93c5fd;--blue-accent:#60a5fa;--blue-light:#3b82f6;--blue-ice:#1e293b;--bg:#030712;--white:#111827;--night:#030712;--text:#f1f5f9;--text-muted:#94a3b8;--border:#ffffff1a}[data-theme=dark] nav#navbar{background:#030712e0}[data-theme=dark] .btn-primary{color:#fff;background:#2563eb}[data-theme=dark] .btn-primary:hover{background:#1d4ed8}[data-theme=dark] .btn-ghost{color:#93c5fd;border-color:#60a5fa80}[data-theme=dark] .btn-ghost:hover{background:#60a5fa1a}[data-theme=dark] .nav-cta{background:#2563eb;color:#fff!important}[data-theme=dark] .nav-cta:hover{background:#1d4ed8!important}[data-theme=dark] .form-submit{color:#fff;background:#2563eb;border:none}[data-theme=dark] .form-submit:hover{background:#1d4ed8}[data-theme=dark] .skip-link{color:#fff;background:#2563eb}[data-theme=dark] .hero-card-main{box-shadow:0 20px 60px #00000080,0 4px 16px #0000004d}[data-theme=dark] .service-card:hover,[data-theme=dark] .project-card:hover,[data-theme=dark] .pricing-card:hover,[data-theme=dark] .testi-card:hover,[data-theme=dark] .contact-card{box-shadow:0 20px 48px #0006}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{color:#f8fafc;background:#1e293b;border-color:#fff3}[data-theme=dark] .nav-logo img,[data-theme=dark] .footer-logo img{filter:brightness(0)invert()}[data-theme=dark] .card-avatar,[data-theme=dark] .testi-avatar{color:#0b1120}[data-theme=dark] .about-strip{background:linear-gradient(135deg,#111827 0%,#030712 100%)}[data-theme=dark] .pricing-card.featured{background:#1e293b;border-color:#3b82f6}[data-theme=dark] .pricing-card.featured .pricing-title,[data-theme=dark] .pricing-card.featured .pricing-price{color:#f8fafc}[data-theme=dark] .pricing-card.featured .pricing-desc{color:#94a3b8}[data-theme=dark] .pricing-badge{color:#0b1120;background:#93c5fd;font-weight:700}[data-theme=dark] .footer-links a{color:#94a3b8}[data-theme=dark] .footer-links a:hover{color:#60a5fa}[data-theme=dark] .project-tag{color:#bfdbfe;background:#1e3a8a}[data-theme=dark] .hero-badge{color:#bfdbfe;background:#1e3a8a;border-color:#60a5fa4d}[data-theme=dark] .card-stat{background:#1e293b;border-color:#ffffff1a}[data-theme=dark] .service-icon{background:#1e293b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes twinkle{0%{opacity:.3}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes barGrow{to{transform:scaleX(1)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(.6)}50%{opacity:.4;transform:scale(1.4)}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(32px)}.reveal.visible{opacity:1;transform:translateY(0)}.circuit-bg{opacity:.045;pointer-events:none;position:absolute}.section{padding:100px 5%;position:relative;overflow:hidden}.section-inner{max-width:1200px;margin:0 auto}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--blue-accent);margin-bottom:14px;font-size:11px;font-weight:500}.section-title{color:var(--navy);letter-spacing:-.02em;margin-bottom:18px;font-family:Playfair Display,serif;font-size:clamp(30px,3.5vw,46px);line-height:1.15}.section-sub{color:var(--text-muted);max-width:520px;margin-bottom:60px;font-size:16px;font-weight:300;line-height:1.7}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--navy);color:#fff;z-index:999;border-radius:0 0 8px;padding:8px 16px;font-weight:500;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}:focus-visible{outline:3px solid var(--blue-accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.floating-chip,.floating-chip *,.tiny-star{animation:none!important}.skill-bar{animation:none!important;transform:scaleX(1)!important}.hero-badge,.hero-title,.hero-sub,.hero-actions,.hero-stack,.hero-visual{opacity:1!important;animation:none!important;transform:none!important}.reveal{opacity:1!important;transition:none!important;transform:none!important}html{scroll-behavior:auto!important}}.btn-primary{background:var(--navy);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;border-radius:7px;padding:14px 28px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s}.btn-primary:hover{background:var(--blue-mid);transform:translateY(-2px);box-shadow:0 8px 24px #1a3a6b38}.btn-ghost{color:var(--navy);cursor:pointer;background:0 0;border:1.5px solid #1a3a6b40;border-radius:7px;padding:14px 28px;font-size:15px;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s,transform .15s}.btn-ghost:hover{border-color:var(--navy);background:#1a3a6b0a;transform:translateY(-2px)}nav#navbar{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:.5px solid var(--border);background:#f4f8fde0;justify-content:space-between;align-items:center;height:68px;padding:0 5%;transition:box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0}nav#navbar.scrolled{box-shadow:0 2px 24px #1a3a6b14}.nav-logo{color:var(--navy);letter-spacing:-.02em;font-family:Playfair Display,serif;font-size:20px;text-decoration:none}.nav-logo img{height:53px}.nav-logo span{color:var(--blue-accent)}.nav-wrapper{align-items:center;gap:36px;display:flex}.nav-controls{align-items:center;gap:16px;display:flex}.mobile-menu-btn{color:var(--navy);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:none}[data-theme=dark] .mobile-menu-btn{color:#f8fafc}.nav-links{gap:36px;list-style:none;display:flex}.nav-links a{color:var(--text-muted);letter-spacing:.01em;font-size:14px;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--navy)}.nav-cta{background:var(--navy);border-radius:6px;padding:9px 20px;color:#fff!important;font-weight:500!important;transition:background .2s,transform .15s!important}.nav-cta:hover{transform:translateY(-1px);background:var(--blue-mid)!important}.theme-toggle-btn{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .4s,border-color .4s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d}.theme-toggle-btn:hover{background:var(--blue-ice)}.theme-icon-wrapper{color:var(--navy);justify-content:center;align-items:center;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .4s ease-in-out;display:flex;position:absolute}[data-theme=dark] .sun-wrapper{color:#f8fafc}[data-theme=dark] .moon-wrapper{color:#fef08a}.tiny-star{background:#fff;border-radius:50%;animation:1.5s ease-in-out infinite alternate twinkle;position:absolute}.ts1{width:2px;height:2px;animation-delay:0s;top:-10px;right:-8px}.ts2{width:3px;height:3px;animation-delay:.4s;top:14px;left:-12px}.ts3{width:1.5px;height:1.5px;animation-delay:.8s;bottom:-8px;right:-2px}@media (width<=768px){.nav-wrapper{gap:16px}.mobile-menu-btn{display:flex}.nav-links{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:.5px solid var(--border);opacity:0;pointer-events:none;background:#f4f8fdfa;flex-direction:column;gap:24px;padding:32px 5%;transition:opacity .3s,transform .3s;position:absolute;top:68px;left:0;right:0;transform:translateY(-10px);box-shadow:0 12px 24px #1a3a6b14}[data-theme=dark] .nav-links{background:#030712fa}.nav-links.active{opacity:1;pointer-events:auto;transform:translateY(0)}}.hero{align-items:center;min-height:100vh;padding:100px 5% 80px;display:flex;position:relative;overflow:hidden}.hero-bg-gradient{pointer-events:none;background:radial-gradient(70% 60% at 80%,#4a90c41f 0%,#0000 70%),radial-gradient(50% 40% at 10% 80%,#1a3a6b12 0%,#0000 60%);position:absolute;inset:0}.hero-grid{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:60px;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.hero-badge{background:var(--blue-ice);color:var(--blue-mid);opacity:0;border:.5px solid #4a90c44d;border-radius:20px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 14px;font-size:12px;font-weight:500;animation:.6s .1s forwards fadeUp;display:inline-flex}.hero-badge-dot{background:#34c97e;border-radius:50%;width:7px;height:7px;position:relative}.hero-badge-dot:after{content:"";background:#34c97e40;border-radius:50%;animation:2s ease-in-out infinite pulse-dot;position:absolute;inset:-4px}.hero-title{color:var(--navy);letter-spacing:-.03em;opacity:0;margin-bottom:24px;font-family:Playfair Display,serif;font-size:clamp(40px,5vw,64px);line-height:1.08;animation:.7s .2s forwards fadeUp}.hero-title em{color:var(--blue-accent);font-style:italic}.hero-sub{color:var(--text-muted);opacity:0;max-width:480px;margin-bottom:40px;font-size:17px;font-weight:300;line-height:1.7;animation:.7s .35s forwards fadeUp}.hero-actions{opacity:0;flex-wrap:wrap;align-items:center;gap:14px;animation:.7s .5s forwards fadeUp;display:flex}.hero-stack{opacity:0;flex-wrap:wrap;gap:10px;margin-top:32px;animation:.7s .65s forwards fadeUp;display:flex}.stack-tag{letter-spacing:.04em;color:var(--blue-mid);background:var(--blue-ice);border:.5px solid #4a90c433;border-radius:20px;padding:5px 12px;font-family:DM Sans,monospace;font-size:11px}.hero-visual{opacity:0;justify-content:center;align-items:center;animation:1s .4s forwards fadeIn;display:flex;position:relative}.hero-card-main{background:var(--white);border:.5px solid var(--border);z-index:2;border-radius:18px;width:100%;max-width:380px;min-height:320px;padding:32px;position:relative;box-shadow:0 20px 60px #1a3a6b1a,0 4px 16px #1a3a6b0f}.hero-card-main:before{content:"";background:linear-gradient(90deg, var(--blue-accent), var(--navy));border-radius:0 0 3px 3px;height:3px;position:absolute;top:-1px;left:28px;right:28px}.card-header{border-bottom:.5px solid var(--border);align-items:center;gap:14px;margin-bottom:24px;padding-bottom:20px;display:flex}.card-avatar{background:linear-gradient(135deg, var(--blue-accent), var(--navy));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-family:Playfair Display,serif;font-size:18px;font-weight:700;display:flex}.card-name{color:var(--navy);font-size:16px;font-weight:500}.card-role{color:var(--text-muted);margin-top:2px;font-size:13px}.card-stat-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;display:grid}.card-stat{background:var(--blue-ice);border:.5px solid #4a90c426;border-radius:10px;padding:14px}.card-stat-num{color:var(--navy);font-family:Playfair Display,serif;font-size:26px;font-weight:700;line-height:1}.card-stat-label{color:var(--text-muted);letter-spacing:.02em;margin-top:4px;font-size:11px}.card-skills{flex-direction:column;gap:10px;display:flex}.skill-row{align-items:center;gap:10px;display:flex}.skill-name{color:var(--text-muted);flex-shrink:0;width:80px;font-size:12px}.skill-bar-bg{background:#4a90c41f;border-radius:2px;flex:1;height:4px;overflow:hidden}.skill-bar{background:linear-gradient(90deg, var(--blue-accent), var(--navy));transform-origin:0;border-radius:2px;height:100%;animation:1.2s cubic-bezier(.16,1,.3,1) forwards barGrow;transform:scaleX(0)}.floating-chip{background:var(--white);border:.5px solid var(--border);color:var(--navy);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;animation:4s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 8px 24px #1a3a6b1a}.chip-icon{font-size:16px}.chip-1{animation-delay:0s;top:-20px;right:-30px}.chip-2{animation-delay:1.5s;bottom:10px;left:-35px}@media (width<=991px){.hero-grid{grid-template-columns:1fr;gap:40px}}.services-bg{background:var(--white)}.services-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{background:var(--bg);border:.5px solid var(--border);border-radius:16px;padding:36px 28px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.service-card:after{content:"";background:linear-gradient(90deg, var(--blue-accent), var(--navy));transform-origin:0;height:3px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.service-card:hover{border-color:#4a90c440;transform:translateY(-4px);box-shadow:0 20px 48px #1a3a6b1a}.service-card:hover:after{transform:scaleX(1)}.service-icon{background:var(--blue-ice);border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:22px;display:flex}.service-title{color:var(--navy);margin-bottom:12px;font-size:18px;font-weight:500}.service-desc{color:var(--text-muted);font-size:14px;font-weight:300;line-height:1.65}@media (width<=991px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.services-grid{grid-template-columns:1fr}}.about-strip{background:linear-gradient(135deg, var(--navy) 0%, #0e2654 60%, #1a3a6b 100%);color:#fff;position:relative;overflow:hidden}.about-strip .circuit-bg{opacity:.06}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.about-title{letter-spacing:-.02em;margin-bottom:22px;font-family:Playfair Display,serif;font-size:clamp(28px,3vw,42px);line-height:1.15}.about-title em{color:var(--blue-light);font-style:italic}.about-text{color:#ffffffb3;margin-bottom:32px;font-size:16px;font-weight:300;line-height:1.75}.about-location{color:#ffffff80;align-items:center;gap:8px;font-size:13px;display:flex}.about-values{grid-template-columns:1fr 1fr;gap:20px;display:grid}.value-item{background:#ffffff0f;border:.5px solid #ffffff1a;border-radius:12px;padding:22px;transition:background .2s}.value-item:hover{background:#ffffff1a}.value-num{color:var(--blue-light);margin-bottom:6px;font-family:Playfair Display,serif;font-size:32px;font-weight:700;line-height:1}.value-label{color:#fff9;font-size:13px}@media (width<=991px){.about-grid{grid-template-columns:1fr;gap:40px}}@media (width<=768px){.about-values{grid-template-columns:1fr!important}}.pricing-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.pricing-card{background:var(--white);border:.5px solid var(--border);border-radius:16px;padding:40px 30px;transition:box-shadow .25s,transform .25s;position:relative}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px #1a3a6b14}.pricing-card.featured{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.05);box-shadow:0 20px 60px #1a3a6b33}.pricing-card.featured:hover{transform:scale(1.05)translateY(-4px)}.pricing-card.featured .pricing-title,.pricing-card.featured .pricing-desc,.pricing-card.featured .pricing-price{color:#fff}.pricing-card.featured .pricing-price span{color:var(--blue-light)}.pricing-badge{background:var(--blue-light);color:var(--navy);border-radius:20px;padding:4px 16px;font-size:12px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-title{color:var(--navy);margin-bottom:12px;font-size:20px;font-weight:500}.pricing-price{color:var(--text-muted);margin-bottom:16px;font-size:16px}.pricing-price span{color:var(--navy);font-family:Playfair Display,serif;font-size:32px;font-weight:700}.pricing-desc{color:var(--text-muted);min-height:45px;margin-bottom:24px;font-size:14px;font-weight:300;line-height:1.6}.pricing-features{flex-direction:column;gap:12px;margin-bottom:32px;list-style:none;display:flex}.pricing-features li{align-items:flex-start;gap:10px;font-size:14px;font-weight:300;line-height:1.5;display:flex}.options-container{background:var(--white);border:.5px solid var(--border);border-radius:16px;margin-top:60px;padding:40px;box-shadow:0 4px 20px #1a3a6b0d}.options-title{color:var(--navy);text-align:center;margin-bottom:24px;font-family:Playfair Display,serif;font-size:28px}.options-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.option-group{margin-bottom:10px}.option-group-title{color:var(--blue-accent);border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:8px;font-size:18px;font-weight:500}.option-list{flex-direction:column;gap:12px;list-style:none;display:flex}.option-item{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:14px;display:flex}.option-name{font-weight:400}.option-price{color:var(--navy);background:var(--blue-ice);border-radius:6px;padding:4px 10px;font-size:13px;font-weight:500}@media (width<=991px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.pricing-grid{grid-template-columns:1fr!important}.options-grid{grid-template-columns:1fr}.options-container{padding:30px 20px}}.projects-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.project-card{border:.5px solid var(--border);background:var(--white);cursor:pointer;border-radius:16px;transition:transform .25s,box-shadow .25s;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px #1a3a6b1f}.project-img{height:190px;position:relative;overflow:hidden}.project-img-bg{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-body{padding:24px}.project-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.project-tag{background:var(--blue-ice);color:var(--blue-mid);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500}.project-title{color:var(--navy);margin-bottom:8px;font-size:17px;font-weight:500}.project-desc{color:var(--text-muted);font-size:13px;font-weight:300;line-height:1.6}@media (width<=768px){.projects-grid{grid-template-columns:1fr!important}}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.testi-card{background:var(--bg);border:.5px solid var(--border);border-radius:16px;padding:30px;transition:box-shadow .25s;position:relative}.testi-card:hover{box-shadow:0 12px 36px #1a3a6b14}.testi-quote{color:var(--blue-accent);opacity:.8;margin-bottom:14px;font-family:Playfair Display,serif;font-size:36px;line-height:1}.testi-text{color:var(--text-muted);margin-bottom:22px;font-size:14px;font-weight:300;line-height:1.7}.testi-author{align-items:center;gap:12px;display:flex}.testi-avatar{background:linear-gradient(135deg, var(--blue-light), var(--blue-mid));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:500;display:flex}.testi-name{color:var(--navy);font-size:14px;font-weight:500}.testi-company{color:var(--text-muted);font-size:12px}@media (width<=768px){.testimonials-grid{grid-template-columns:1fr!important}}.contact-bg{background:var(--bg)}.contact-card{background:var(--white);border:.5px solid var(--border);text-align:center;border-radius:24px;max-width:720px;margin:0 auto;padding:56px 60px;box-shadow:0 4px 40px #1a3a6b0f}.contact-form{text-align:left}.form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--navy);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.form-group input,.form-group textarea,.form-group select{background:var(--bg);color:var(--text);border:.5px solid #4a90c433;border-radius:8px;outline:none;width:100%;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--blue-accent);box-shadow:0 0 0 3px #4a90c41a}.form-group textarea{resize:vertical;min-height:120px}.form-submit{background:var(--navy);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:8px;width:100%;margin-top:8px;padding:16px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:background .2s,transform .15s,box-shadow .2s}.form-submit:hover{background:var(--blue-mid);transform:translateY(-2px);box-shadow:0 8px 24px #1a3a6b38}.form-error{color:#d93025;margin-top:4px;font-size:12px}@media (width<=768px){.form-row{grid-template-columns:1fr!important}}footer{background:var(--night);color:#ffffffb3;padding:40px 5%;font-size:13px;position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.footer-logo{color:#ffffffe6;font-family:Playfair Display,serif;font-size:18px}.footer-logo img{height:53px}.footer-logo span{color:var(--blue-light)}.footer-siret{color:#fff9;font-size:12px}.footer-links{gap:24px;display:flex}.footer-links a{color:#ffffffbf;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--blue-light)}
