@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');:root{--bg:#050c19;--navy:#091b32;--line:#28425b;--cyan:#27dcff;--blue:#1268ff;--text:#f4f9ff;--muted:#adc0d4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}h1,h2,h3,.brand{font-family:'Space Grotesk',Arial,sans-serif;line-height:1.14}h1{font-size:clamp(2.8rem,6.2vw,5.6rem);letter-spacing:-.055em;margin:20px 0}h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.045em}h3{font-size:1.35rem}p{color:var(--muted)}a{color:inherit;text-decoration:none}a:hover{color:var(--cyan)}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:10;background:#071223eb;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff15}.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand{font-size:1.85rem;letter-spacing:.12em;font-weight:700;color:white}.brand span{color:var(--cyan)}.links{display:flex;gap:22px;align-items:center;font-size:.89rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;border-radius:12px;font-weight:800;background:linear-gradient(105deg,#16cfff,#1266fa);color:white;box-shadow:0 10px 32px #0677ed40;border:0;cursor:pointer}.btn:hover{color:white;filter:brightness(1.12)}.btn-outline{background:transparent;border:1px solid #6e90b5;box-shadow:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#063a77 0%,transparent 44%),linear-gradient(140deg,#071a30,#040912);padding:100px 0 110px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-weight:800}.grad{background:linear-gradient(90deg,#24dfff,#3983ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:1.14rem;max-width:610px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-visual{position:relative;border:1px solid #2d5d88;border-radius:28px;overflow:hidden;box-shadow:0 0 75px #047df633;background:#020916}.hero-visual img{display:block;width:100%;height:auto}.hero-visual:after{content:'';position:absolute;inset:0;border-radius:28px;box-shadow:inset 0 0 65px #031025;pointer-events:none}.section{padding:88px 0}.section.alt{background:#091629}.section-intro{max-width:700px;margin-bottom:36px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:29px;background:linear-gradient(150deg,#112943,#081728);border:1px solid #26435c;border-radius:20px;transition:transform .2s}.card:hover{transform:translateY(-4px)}.icon{display:grid;place-items:center;width:49px;height:49px;border-radius:13px;background:#0e4780;color:#38ddff;font-size:24px}.card a.more{color:#48ddff;font-weight:700}.pill{display:inline-block;background:#0d3865;color:#a7eaff;padding:5px 12px;border-radius:30px;font-size:.78rem;font-weight:700}.price{font-family:'Space Grotesk';font-size:2.1rem;font-weight:700;color:#fff;margin:15px 0}.price small{font-size:.8rem;color:#b6cbe2}.check{padding-left:20px;color:#c4d6e8}.check li{margin:8px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{border-top:2px solid #20caff;padding-top:20px}.step b{color:#31ddff;font-size:2rem}.banner{padding:55px;border:1px solid #2b6aa1;border-radius:24px;background:radial-gradient(circle at 100% 0%,#1159a5,#0b1c33 65%)}.footer{border-top:1px solid #203c56;padding:35px 0;color:#a7bcd0}.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.foot-links{display:flex;gap:18px;flex-wrap:wrap;font-size:.87rem}.form{max-width:760px;display:grid;gap:15px}.field{display:grid;gap:5px}.field label{font-weight:700;font-size:.9rem}input,select,textarea{width:100%;padding:15px 16px;background:#10243b;border:1px solid #3a5772;border-radius:10px;color:#fff;font:inherit}textarea{min-height:130px}.notice{font-size:.85rem;color:#9fb7cb}.faq details{border-bottom:1px solid #35506a;padding:18px 0}.faq summary{cursor:pointer;font-weight:700}.mobile-menu{display:none}@media(max-width:850px){.links{display:none}.mobile-menu{display:block;background:none;color:white;border:1px solid #476482;border-radius:9px;padding:8px 12px}.links.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#071526;flex-direction:column;align-items:stretch;padding:25px}.hero-grid,.grid{grid-template-columns:1fr}.hero{padding:65px 0}.hero-visual{max-width:520px}.steps{grid-template-columns:1fr 1fr}.banner{padding:28px}}@media(max-width:520px){.steps{grid-template-columns:1fr}.hero-actions .btn{width:100%}.section{padding:60px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* VIZIA visual experience v2 */
.hero-visual{transform:perspective(1100px) rotateY(-5deg);transition:transform .4s}.hero-visual:hover{transform:perspective(1100px) rotateY(0)}.visual-tag{position:absolute;z-index:2;right:18px;top:18px;padding:8px 13px;border:1px solid #3e9cc5;background:#071c35cc;border-radius:30px;font-size:.7rem;font-weight:800;letter-spacing:.13em;color:#8ceaff}.showcase-section{background:radial-gradient(ellipse at 80% 10%,#0b3455,transparent 50%),#050d1b}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.portfolio-card{border:1px solid #2b4e6a;border-radius:23px;overflow:hidden;background:#0c1b30}.portfolio-copy{padding:6px 24px 22px}.portfolio-copy p{margin-top:0}.mockup{height:315px;position:relative;overflow:hidden;background-size:cover;background-position:center}.mockup:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#041222e8,#061b2b38)}.mockup-building{background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1200&q=85')}.mockup-commerce{background-image:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1200&q=85')}.browser-top{position:relative;z-index:2;display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:#0b1c2fe8;border-bottom:1px solid #ffffff20}.browser-top i{width:7px;height:7px;border-radius:50%;background:#5b819e}.browser-top span{margin-left:12px;font-size:10px;color:#a9c3d8}.mockup-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:calc(100% - 34px);padding:30px;max-width:390px}.mockup-inner small{color:#75e2ff;letter-spacing:.18em;font-weight:800}.mockup-inner strong{font:700 clamp(1.6rem,3vw,2.65rem)/1.1 'Space Grotesk',sans-serif;margin:14px 0 24px}.mockup-button{border:1px solid #a7e9ff;padding:9px 15px;border-radius:6px;font-size:.76rem}.tech-section{background:radial-gradient(circle at 75% 40%,#084b83 0%,#071a30 34%,#050c19 75%)}.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.workflow-visual{border:1px solid #35709a;border-radius:25px;padding:34px;background:linear-gradient(145deg,#0b2a49,#081222);box-shadow:0 0 70px #007dff22}.flow-node{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:17px 21px;background:#102e4b;border:1px solid #356182;border-radius:13px}.flow-node b{font-size:1rem}.flow-node small{display:block;width:100%;padding-left:32px;color:#a9c6d9}.flow-node.highlighted{border-color:#24dfff;box-shadow:0 0 35px #20baff33}.flow-connector{text-align:center;font-size:23px;color:#38d5fa;padding:5px}.image-story{background:#081628}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.story-visual{border:1px solid #2c6088;border-radius:22px;overflow:hidden;box-shadow:0 20px 65px #0008}.story-visual img{width:100%;height:auto;display:block}@media(max-width:850px){.portfolio-grid,.tech-grid,.story-grid{grid-template-columns:1fr}.hero-visual{transform:none}.mockup{height:280px}}

/* VIZIA image-rich release */
.hero{padding:75px 0 85px;background:radial-gradient(ellipse at 75% 45%,#0a4779 0%,#071b33 47%,#050c19 90%)}
.hero-photo{background:linear-gradient(140deg,#102a43,#041323);border-radius:24px;transform:none;box-shadow:0 18px 85px #007ee72b;min-height:320px}
.hero-photo:hover{transform:none}.hero-photo img{height:100%;min-height:320px;object-fit:cover;aspect-ratio:1.28}.hero-photo:after{box-shadow:inset 0 0 30px #031025}
.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.services-grid .card{padding:0 0 20px;overflow:hidden}.services-grid .card .service-photo{width:100%;height:165px;object-fit:cover;display:block}.services-grid .card .icon{margin:17px 18px 0}.services-grid .card h3,.services-grid .card p,.services-grid .card a{margin-left:18px;margin-right:18px}.services-grid .card h3{font-size:1.15rem}.services-grid .card p{font-size:.91rem}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.portfolio-image{background:#122d48;overflow:hidden}.portfolio-image img{width:100%;height:175px;object-fit:cover;display:block;transition:transform .35s}.portfolio-card:hover .portfolio-image img{transform:scale(1.045)}.portfolio-copy{padding:8px 17px 17px}.portfolio-copy h3{font-size:1.07rem}.portfolio-copy p{font-size:.84rem}.workflow-visual{padding:18px}.ai-photo{width:100%;height:155px;object-fit:cover;border-radius:12px;margin-bottom:16px;border:1px solid #2a678b}.visual-tag{font-size:.72rem}.card:focus-within{outline:2px solid #24dfff;outline-offset:2px}
@media(max-width:1050px){.services-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.services-grid,.portfolio-grid{grid-template-columns:1fr}.hero-photo img{min-height:220px}.hero-photo{min-height:220px}.services-grid .card .service-photo{height:190px}.portfolio-image img{height:200px}}

/* Portfolio V4 : maquettes HTML haute définition, sans captures bitmap floues */
.live-mockup{height:195px;position:relative;overflow:hidden;background:#edf4f7;color:#14263b;font-family:Arial,Helvetica,sans-serif;isolation:isolate}
.mock-browser{height:23px;background:#122438;color:#9db9cd;display:flex;gap:15px;align-items:center;padding:0 12px;font-size:9px}
.mock-dots{color:#56ccef;letter-spacing:2px;font-size:9px}.mock-site{height:172px;position:relative;overflow:hidden;background:linear-gradient(90deg,#eef5f7 0%,#eef5f7 47%,#aec8d0 100%)}
.mock-nav{position:relative;z-index:2;height:35px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;background:#ffffffeb;gap:4px}.mock-nav strong{font-size:10px;letter-spacing:.5px}.mock-nav span{font-size:6px;letter-spacing:.3px}
.mock-hero{position:relative;z-index:2;padding:18px 13px 0;max-width:70%}.mock-hero small{font-size:7px;display:block;color:#087f9b;font-weight:800;letter-spacing:.6px}.mock-hero strong{display:block;font-size:clamp(14px,1.7vw,21px);line-height:1.15;margin:7px 0 11px;letter-spacing:-.5px}.mock-cta{display:inline-block;padding:7px 9px;background:#007acb;color:white;border-radius:3px;font-size:8px;font-weight:700}.mock-foot{position:absolute;bottom:0;left:0;right:0;padding:7px 12px;background:#ffffffed;font-size:8px;font-weight:700;letter-spacing:.2px;z-index:2}
.mock-artisan .mock-site{background:linear-gradient(100deg,#f1f6f6 0 48%,transparent 70%),linear-gradient(135deg,#a1b9bb,#bd9367 65%,#60442e)}
.mock-shop .mock-site{background:linear-gradient(100deg,#f5f0e8 0 48%,transparent 72%),linear-gradient(135deg,#e9d7c2,#b8a48e 65%,#796953)}.mock-shop .mock-cta{background:#735d45}.mock-shop .mock-hero small{color:#8d7154}
.mock-restaurant .mock-site{background:linear-gradient(100deg,#18242c 0 48%,transparent 75%),linear-gradient(135deg,#283744,#b97a3d 65%,#3c2519)}.mock-restaurant .mock-nav{background:#15202b;color:white}.mock-restaurant .mock-hero strong{color:#fff}.mock-restaurant .mock-hero small{color:#e8b984}.mock-restaurant .mock-cta{background:#bd874c}.mock-restaurant .mock-foot{background:#14212ae8;color:white}
.mock-business .mock-site{background:linear-gradient(100deg,#f1f7fa 0 50%,transparent 72%),linear-gradient(135deg,#92b6c9,#30608c 65%,#112b4c)}
@media(max-width:600px){.live-mockup{height:225px}.mock-site{height:202px}.mock-hero{padding-top:27px}.mock-hero strong{font-size:23px}}

/* VIZIA photographic card restoration */
.service-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;image-rendering:auto;}
