:root{color-scheme:dark;--bg:#061020;--bg2:#030c1b;--panel:#0b1e38;--line:rgba(99,163,255,.2);--lineStrong:rgba(45,208,255,.55);--text:#f6f8ff;--muted:#afbfdd;--blue:#28c4ff;--violet:#a879ff;--cyan:#01e1e9;--max:1260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg2);color:var(--text);line-height:1.56;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 65% 40% at 65% 0%,rgba(55,54,161,.1),transparent 72%);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%}svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Outfit','DM Sans',sans-serif;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(2.55rem,5vw,5rem);font-weight:700}h2{font-size:clamp(2rem,3vw,3.4rem)}h3{font-size:1.3rem}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip{position:absolute;top:-100px;left:10px;background:white;color:#071328;padding:10px;z-index:99}.skip:focus{top:10px}.gradient-text{background:linear-gradient(95deg,#37d7ff 5%,#78aaff 48%,#c37aff 100%);color:transparent;background-clip:text;-webkit-background-clip:text}.eyebrow{color:#a68eff;text-transform:uppercase;font-weight:700;font-size:.76rem;letter-spacing:.13em;margin-bottom:16px;display:flex;gap:14px;align-items:center}.eyebrow:after{content:"";display:inline-block;width:70px;height:1px;background:linear-gradient(90deg,#8c6afe,transparent)}.small{font-size:.9rem}.muted{color:var(--muted)}.subhead{max-width:730px;color:var(--muted);font-size:1.12rem}.section{padding:92px 0;position:relative}.section-quiet{background:linear-gradient(180deg,rgba(7,30,56,.7),rgba(3,12,27,.4))}.section-heading{max-width:820px;margin-bottom:42px}.section-heading h2{margin:0 0 16px}.section-heading p{font-size:1.1rem;color:var(--muted)}.site-header{position:sticky;top:0;z-index:50;background:rgba(3,11,27,.87);border-bottom:1px solid rgba(119,149,242,.12);backdrop-filter:blur(18px)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-icon{width:46px;height:46px}.brand-word{font-family:'Outfit',sans-serif;font-weight:750;font-size:2.12rem;letter-spacing:-.055em;line-height:1}.brand-word .dot{color:#78a5ff}.brand-word .ia{color:#d2c6ff}.brand-caption{font-size:.69rem;letter-spacing:.01em;line-height:1.25;color:#bac8de;margin-left:8px;padding-left:16px;border-left:1px solid #466389;max-width:195px}.nav{display:flex;align-items:center;gap:23px}.nav-link{font-size:.88rem;font-weight:600;color:#dce5f4;transition:color .2s;white-space:nowrap}.nav-link:hover,.nav-link[aria-current=page]{color:#88deff}.nav-link[aria-current=page]:after{content:"";display:block;width:60%;margin:4px auto 0;height:2px;background:linear-gradient(90deg,#866cff,#21d1ff)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:14px 23px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:.95rem;transition:transform .2s,box-shadow .2s,border-color .2s;color:white;text-align:center;line-height:1.3}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(104deg,#793eee 0%,#5368ff 52%,#05bcef 100%);box-shadow:0 13px 33px rgba(37,99,255,.2)}.btn-primary:hover{box-shadow:0 16px 34px rgba(37,99,255,.35)}.btn-outline{border-color:rgba(211,227,255,.75);background:rgba(2,11,28,.38)}.btn-outline:hover{border-color:var(--cyan)}.btn-small{padding:11px 17px;font-size:.83rem}.icon{width:26px;height:26px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-sm{width:17px;height:17px}.mobile-toggle{display:none;background:none;color:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.hero{min-height:680px;position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;background:radial-gradient(ellipse 36% 48% at 87% 32%,rgba(25,39,133,.3),transparent 85%),radial-gradient(ellipse 65% 50% at 10% 98%,rgba(5,95,146,.3),transparent 80%),#051022}.hero:before{content:"";position:absolute;width:650px;height:550px;top:0;right:-90px;background:radial-gradient(ellipse,rgba(49,70,195,.18),transparent 70%);pointer-events:none}.hero:after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(0deg,#041125,transparent);pointer-events:none}.hero-main{position:relative;z-index:2;padding-block:86px 110px}.hero-copy{max-width:800px;position:relative;z-index:2}.hero-copy h1{max-width:790px;margin:19px 0 20px;text-shadow:0 2px 28px rgba(4,11,28,.4)}.hero-copy p{font-size:clamp(1.02rem,1.6vw,1.2rem);color:#d5e3f2;max-width:690px;line-height:1.68}.hero-art{position:absolute;z-index:1;right:-3%;top:55px;width:56%;height:calc(100% - 70px);background:url('./hero-ai.webp') center/cover no-repeat;opacity:.92;mask-image:linear-gradient(to right,transparent 1%,rgba(0,0,0,.2) 16%,black 48%);pointer-events:none}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin:27px 0 25px}.hero-tags{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:25px;color:#9cbee9;font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.hero-tags span+span:before{content:'·';margin-right:10px;color:#8a60ff}.hero-bottom-glow{position:absolute;bottom:-160px;left:-150px;width:700px;height:270px;border:2px solid rgba(23,176,243,.35);border-radius:50%;filter:blur(23px);transform:rotate(-6deg)}.expert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.glass-card{border:1px solid var(--line);background:linear-gradient(152deg,rgba(15,46,84,.72),rgba(8,22,43,.86) 68%);border-radius:16px;box-shadow:inset 0 1px rgba(255,255,255,.035),0 12px 45px rgba(2,7,20,.2)}.service-card{padding:27px 22px;min-height:268px;position:relative;overflow:hidden;transition:transform .25s,border-color .25s}.service-card:hover{transform:translateY(-5px);border-color:rgba(29,205,240,.65)}.service-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#15d8ff,#8663ff,transparent);opacity:.85}.service-card:nth-child(2n):before{background:linear-gradient(90deg,#3de7df,#1a86ff,transparent)}.service-card .icon{width:42px;height:42px;color:#46dcff;margin:0 0 23px}.service-card:nth-child(3) .icon,.service-card:nth-child(5) .icon{color:#bf8eff}.service-card h3{font-size:1.25rem;margin:0 0 13px}.service-card p{font-size:.94rem;line-height:1.55;color:#ced9ed;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.check-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:14px}.check-list li{display:flex;align-items:flex-start;gap:13px}.check-list .icon{color:#12dbf4;border-radius:100%;margin-top:2px}.diagram{padding:32px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 100% 0%,rgba(84,57,172,.24),transparent 55%),linear-gradient(140deg,#0b2040,#071629)}.diagram-label{color:#ad98f7;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.diagram-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:28px 0}.diagram-node{display:flex;flex:1;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:.81rem;font-weight:700}.diagram-node .icon{color:#4acdfc;height:40px;width:40px}.diagram-node.purple .icon{color:#b77aff}.diagram-arrow{color:#6486c9;font-size:1.3rem}.diagram-note{font-size:.91rem;color:#bfd1ed;margin:0}.journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.step{position:relative;text-align:center;padding:26px 15px 22px;min-height:225px}.step .icon{margin:0 auto 15px;color:#70bfff;width:36px;height:36px}.step h3{font-size:1.05rem;margin:0 0 10px}.step p{color:#c3d2ed;font-size:.88rem;margin:0}.step-number{color:#9a80f5;position:absolute;top:13px;left:15px;font-size:.69rem;font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{padding:30px}.feature-card .tag{color:#8ddfff;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.feature-card h3{margin:16px 0 12px}.feature-card p{color:var(--muted);margin:0}.cta-panel{position:relative;overflow:hidden;padding:58px;border:1px solid rgba(67,157,238,.35);border-radius:26px;background:radial-gradient(circle at 95% 0%,rgba(128,55,228,.28),transparent 45%),radial-gradient(circle at 0% 100%,rgba(0,153,239,.17),transparent 55%),#091831}.cta-panel h2{max-width:740px}.cta-panel p{color:#bdcce7;max-width:680px;font-size:1.12rem}.cta-panel .btn{margin-top:12px}.footer{border-top:1px solid var(--line);background:#030a17;padding:44px 0}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:36px}.footer .brand-word{font-size:1.8rem}.footer p,.footer a{font-size:.84rem;color:#9aacca}.footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}.footer-note{padding-top:25px;margin-top:26px;border-top:1px solid rgba(106,152,214,.12);font-size:.76rem;color:#8a9bb9}.page-hero{position:relative;padding:105px 0 78px;overflow:hidden;background:radial-gradient(ellipse 50% 100% at 85% 20%,rgba(60,52,162,.24),transparent 75%),linear-gradient(145deg,#071b32,#040d1c)}.page-hero h1{max-width:900px;margin:10px 0 21px}.page-hero p{max-width:770px;color:#cedcf3;font-size:1.18rem}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.detail-card{padding:34px;min-height:260px}.detail-card .icon{height:40px;width:40px;color:#40d6ff;margin-bottom:20px}.detail-card h2{font-size:1.65rem;margin-bottom:14px}.detail-card p{color:var(--muted);font-size:1rem}.pill-list{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.pill{display:inline-flex;padding:7px 11px;border-radius:999px;border:1px solid rgba(107,166,242,.3);background:rgba(35,85,140,.14);color:#bbd6ff;font-size:.76rem}.case-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case{padding:31px;min-height:315px;display:flex;flex-direction:column}.case .tag{color:#b899ff;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700}.case h2{font-size:1.52rem;margin:20px 0 14px}.case p{color:var(--muted);flex:1}.case .bottom-line{font-size:.85rem;border-top:1px solid var(--line);padding-top:15px;color:#6ee2ff;font-weight:700}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px}.contact-panel{padding:35px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{color:#e1eafa;font-weight:700;font-size:.89rem}.field input,.field textarea{width:100%;border:1px solid rgba(126,168,236,.34);border-radius:12px;padding:14px 15px;background:rgba(2,11,26,.63);color:white;outline:none}.field input:focus,.field textarea:focus{border-color:#25bffa;box-shadow:0 0 0 3px rgba(28,155,224,.16)}.field textarea{min-height:160px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#788da9}.form-message{font-size:.9rem;color:#aac5e1;min-height:26px}.form-message.error{color:#ffb3bb}.legal-note{font-size:.8rem;color:#99afd0}.notice{border-left:3px solid #5fcaf1;background:rgba(20,74,133,.15);padding:16px 19px;border-radius:0 9px 9px 0;color:#bdd9ed}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.about-principles .glass-card{padding:28px}.about-principles .icon{color:#70d2ff;width:35px;height:35px;margin-bottom:15px}footer a:hover{text-decoration:underline;color:white}
@media(max-width:1100px){.brand-caption{display:none}.nav{gap:14px}.expert-grid{grid-template-columns:repeat(3,1fr)}.hero-art{width:60%;opacity:.6}.hero-copy{max-width:700px}}@media(max-width:850px){.container{width:min(calc(100% - 36px),var(--max))}.header-inner{height:72px}.mobile-toggle{display:flex}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#07142a;border-bottom:1px solid var(--line);padding:21px 22px 28px;flex-direction:column;align-items:stretch;gap:19px}.nav.is-open{display:flex}.nav-link{padding:8px 2px}.nav-link[aria-current=page]:after{display:none}.nav .btn{justify-content:center}.hero{min-height:680px}.hero-main{padding-block:100px 80px}.hero-art{width:100%;opacity:.24;top:0;right:-29%;height:100%;mask-image:linear-gradient(to right,transparent,black 45%)}.hero-copy{max-width:100%}.hero-copy h1{max-width:670px}.expert-grid{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.journey{grid-template-columns:repeat(3,1fr)}.case-list{grid-template-columns:repeat(2,1fr)}.footer-inner{flex-direction:column}.feature-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){h1{font-size:2.48rem}.hero{min-height:620px}.hero-main{padding-block:72px 60px}.hero-copy p{font-size:1rem}.hero-art{opacity:.16;right:-45%}.hero-actions{align-items:stretch;flex-direction:column}.hero-tags{font-size:.67rem}.section{padding:65px 0}.page-hero{padding:70px 0 58px}.expert-grid,.detail-grid,.feature-grid,.case-list,.about-principles,.form-grid{grid-template-columns:1fr}.service-card{min-height:auto}.journey{grid-template-columns:1fr 1fr}.step{min-height:200px}.cta-panel{padding:34px 25px}.contact-panel{padding:23px}.brand-icon{width:39px;height:39px}.brand-word{font-size:1.88rem}.diagram-flow{gap:4px}.diagram-node{font-size:.64rem}.diagram-node .icon{height:30px;width:30px}.diagram-arrow{font-size:.9rem}.footer-links{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* VOXIA V2 — direction artistique immersive, sans régression de structure */
:root{--max:1420px;--wide:1600px}
.container{width:min(calc(100% - clamp(36px,5vw,108px)),var(--max))}
@media(min-width:1800px){.container{width:min(calc(100% - 140px),var(--wide))}.hero-copy{max-width:880px}.hero-copy h1{max-width:880px}}
.hero{min-height:720px;background:radial-gradient(ellipse 50% 70% at 88% 28%,rgba(49,52,139,.27),transparent 76%),radial-gradient(ellipse 45% 42% at 8% 96%,rgba(7,121,170,.27),transparent 78%),#051022}
.hero:before{animation:hero-aura 11s ease-in-out infinite alternate}
.hero-art{width:57%;right:-1.5%;top:2%;height:96%;opacity:.91;filter:saturate(1.12);animation:hero-breathe 10s ease-in-out infinite alternate}
.hero-main{z-index:4;min-height:630px;display:flex;align-items:center}
.hero-copy h1{max-width:810px}
.hero-copy p{max-width:700px}
.hero-data-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:.9}
.hero-orbit{position:absolute;z-index:2;pointer-events:none;width:min(38vw,610px);aspect-ratio:1;right:6%;top:13%;border:1px solid rgba(81,180,255,.22);border-radius:50%;box-shadow:0 0 80px rgba(46,119,255,.06),inset 0 0 80px rgba(63,75,197,.035);animation:orbit-drift 20s ease-in-out infinite alternate}
.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:11%;border:1px dashed rgba(96,130,255,.12);border-radius:50%}
.hero-orbit:after{inset:-8%;border:1px solid rgba(117,96,255,.12)}
.hero-scan{position:absolute;z-index:2;right:-18%;top:34%;width:70%;height:2px;background:linear-gradient(90deg,transparent,rgba(36,211,253,.45),rgba(151,93,255,.75),transparent);box-shadow:0 0 26px rgba(70,177,255,.28);transform:rotate(-13deg);animation:scanner-sweep 9s ease-in-out infinite;pointer-events:none}
.hero-tech-label{position:absolute;z-index:3;bottom:70px;right:clamp(20px,6vw,115px);display:flex;align-items:center;gap:10px;color:#8bbee1;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;opacity:.78;pointer-events:none}
.hero-tech-label::before{content:"";width:6px;height:6px;border-radius:50%;background:#40dcff;box-shadow:0 0 13px #40dcff;animation:pulse-dot 2.6s ease-in-out infinite}
.glass-card{position:relative;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;transform:translateZ(0)}
.glass-card:not(.step):hover{box-shadow:inset 0 1px rgba(255,255,255,.065),0 20px 52px rgba(0,10,31,.38),0 0 34px rgba(39,135,230,.075);border-color:rgba(68,193,250,.53)}
.service-card:hover{transform:translateY(-7px)}
.service-card:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(120deg,transparent 28%,rgba(75,201,255,.06) 50%,transparent 72%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}
.service-card:hover:after{transform:translateX(120%)}
.service-card>*{position:relative;z-index:1}
.diagram{overflow:hidden;isolation:isolate}
.diagram:after{content:"";position:absolute;width:210px;height:210px;right:-90px;bottom:-100px;border-radius:50%;background:#146eff;filter:blur(96px);opacity:.12;pointer-events:none}
.diagram-arrow{animation:arrow-blink 3.7s ease-in-out infinite}
.diagram-arrow:nth-of-type(4){animation-delay:.65s}.diagram-arrow:nth-of-type(6){animation-delay:1.3s}
.cta-panel:after{content:"";position:absolute;inset:0;opacity:.18;background:repeating-linear-gradient(120deg,transparent 0 44px,rgba(58,128,255,.1) 45px,transparent 46px 88px);pointer-events:none}
.cta-panel>*{position:relative;z-index:2}
.section-quiet:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(54,151,222,.18),transparent)}
/* De petites transitions d'apparition sont installées par JS seulement quand elles sont supportées. */
.motion-ready .reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.15,1),transform .7s cubic-bezier(.2,.7,.15,1)}
.motion-ready .reveal-on-scroll.is-visible{opacity:1;transform:none}
.motion-ready .stagger-container>.reveal-on-scroll:nth-child(2){transition-delay:.08s}
.motion-ready .stagger-container>.reveal-on-scroll:nth-child(3){transition-delay:.16s}
.motion-ready .stagger-container>.reveal-on-scroll:nth-child(4){transition-delay:.24s}
.motion-ready .stagger-container>.reveal-on-scroll:nth-child(5){transition-delay:.32s}
@keyframes hero-aura{from{opacity:.55;transform:translate(0,0)}to{opacity:1;transform:translate(-35px,30px)}}
@keyframes hero-breathe{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-12px,-7px,0) scale(1.035)}}
@keyframes orbit-drift{from{transform:translate3d(0,0,0) rotate(-10deg)}to{transform:translate3d(-18px,12px,0) rotate(15deg)}}
@keyframes scanner-sweep{0%,100%{opacity:0;transform:translateY(-95px) rotate(-13deg)}25%,67%{opacity:.5}82%{opacity:0;transform:translateY(180px) rotate(-13deg)}}
@keyframes pulse-dot{0%,100%{opacity:.6}50%{opacity:1;box-shadow:0 0 20px #40dcff}}
@keyframes arrow-blink{0%,100%{opacity:.45}35%{opacity:1;text-shadow:0 0 12px rgba(76,205,255,.75)}}
@media(max-width:1100px){.hero{min-height:690px}.hero-art{opacity:.62;width:65%}.hero-orbit{right:-5%;width:52vw}.hero-tech-label{display:none}}
@media(max-width:850px){.container{width:min(calc(100% - 36px),var(--max))}.hero{min-height:680px}.hero-main{min-height:0}.hero-art{width:100%;right:-28%;top:0;height:100%;opacity:.27}.hero-orbit{right:-15%;top:20%;width:66vw;opacity:.45}.hero-scan{opacity:.25}}
@media(max-width:560px){.hero{min-height:620px}.hero-main{padding-block:72px 60px}.hero-art{opacity:.18;right:-42%}.hero-data-canvas{opacity:.43}.hero-orbit{right:-44%;top:14%;width:110vw}.hero-scan{display:none}}
@media(prefers-reduced-motion:reduce){.hero:before,.hero-art,.hero-orbit,.hero-scan,.hero-tech-label:before,.diagram-arrow{animation:none!important}.motion-ready .reveal-on-scroll{opacity:1;transform:none}.glass-card{transition:none!important}}
