/* Direct-manipulation gallery */
.v-gallery-fluid{height:505px;perspective:1100px;touch-action:pan-y;user-select:none;-webkit-user-select:none;mask-image:none!important;overflow:hidden;cursor:grab}.v-gallery-fluid.is-dragging{cursor:grabbing}.v-gallery-fluid .cards-marquee__track{pointer-events:none}.v-gallery-fluid .rcard{pointer-events:auto;top:24px;height:440px;width:340px;margin-left:-170px;transition:none!important;backface-visibility:hidden;box-shadow:0 20px 45px #0005;padding:22px}.v-gallery-fluid .rcard__thumb{height:175px}.v-gallery-fluid .rcard img{-webkit-user-drag:none}.v-gallery-fluid .rcard h4{font-size:1.2rem}.v-gallery-fluid .rcard p{font-size:.9rem;line-height:1.6}.v-gallery-info{display:flex;align-items:center;justify-content:center;gap:32px;color:#bfbcc5;font-size:11px;letter-spacing:.1em;padding:5px 20px 20px}.v-gallery-info .v-count{font-size:16px;color:white}.v-gallery-info .v-drag-hint{letter-spacing:0;font-size:13px}
/* A small, modelled 3D world: six solid faces, intersecting orbits and floating UI. */
.vm-sculpture{--vm-accent:#ef364a;position:relative;height:350px;width:min(720px,100%);margin:26px auto 0;perspective:1000px;isolation:isolate;contain:layout style;touch-action:pan-y}.vm-world{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}.vm-floor{position:absolute;left:15%;right:15%;bottom:46px;height:100px;transform:rotateX(70deg);background:radial-gradient(ellipse,#e6394633,transparent 65%);border:1px solid #e6394626;border-radius:50%;box-shadow:0 0 0 35px #e6394607,0 0 0 75px #e6394604}.vm-core{position:absolute;top:110px;left:calc(50% - 52px);width:104px;height:104px;transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(35deg) rotateZ(-8deg);will-change:transform}.vm-face{position:absolute;width:104px;height:104px;display:grid;place-items:center;background:linear-gradient(145deg,#ff5c67,#b90825);border:1px solid #ffbac1aa;border-radius:14px;box-shadow:inset 0 0 24px #ffffff25;backface-visibility:hidden}.vm-face span{font:normal 65px/1 sans-serif;color:#fff5f0}.vm-front{transform:translateZ(52px)}.vm-back{transform:rotateY(180deg) translateZ(52px)}.vm-left{transform:rotateY(-90deg) translateZ(52px)}.vm-right{transform:rotateY(90deg) translateZ(52px)}.vm-top{transform:rotateX(90deg) translateZ(52px)}.vm-bottom{transform:rotateX(-90deg) translateZ(52px)}.vm-orbit{position:absolute;width:300px;height:300px;left:calc(50% - 150px);top:14px;border:1px solid #e6394650;border-radius:50%;transform-style:preserve-3d}.vm-orbit::after{content:'';position:absolute;left:43px;top:33px;width:10px;height:10px;background:var(--vm-accent);border-radius:50%;box-shadow:0 0 22px #e6394660}.vm-orbit-a{transform:rotateX(62deg) rotateY(-12deg)}.vm-orbit-b{transform:rotateX(65deg) rotateY(60deg);border-style:dashed}.vm-orbit-c{transform:rotateY(65deg) rotateX(-20deg)}.vm-satellite{position:absolute;display:flex;gap:14px;align-items:center;background:linear-gradient(130deg,#ffffffed,#f2efebeb);border:1px solid #fff;box-shadow:0 18px 42px #372b3718,0 1px 0 #19191910;border-radius:16px;padding:17px 20px;color:#272429;font:600 11px/1.2 'Inter',sans-serif;letter-spacing:.08em;transform:translateZ(75px);animation:vm-float 7s ease-in-out infinite;animation-play-state:paused;white-space:nowrap}.vm-satellite b{font-size:9px;color:#8f8791;font-weight:400}.vm-node{display:grid;place-items:center;background:#ffe4e8;border-radius:9px;width:32px;height:32px;color:#de2339;font-size:23px}.vm-satellite-0{left:5%;top:65px;rotate:-7deg}.vm-satellite-1{right:2%;top:132px;rotate:6deg;animation-delay:-2s}.vm-satellite-2{left:19%;bottom:48px;rotate:3deg;animation-delay:-4s}.vm-caption{position:absolute;bottom:0;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font:500 11px/1.4 'Inter',sans-serif;color:#7e757a;letter-spacing:.035em}.vm-caption i{width:5px;height:5px;background:#e63946;border-radius:50%}.vm-spark{position:absolute;width:10px;height:10px;background:#e63946;rotate:45deg;left:25%;top:34px}.vm-spark-b{left:74%;top:280px;width:6px;height:6px}.vm-in-view .vm-satellite{animation-play-state:running}.vm-services .vm-core{scale:.85}.vm-services .vm-orbit-b{border-width:5px;border-style:solid}.vm-equipe .vm-face{border-radius:50%}.vm-equipe .vm-orbit{border-style:dotted;border-width:3px}.vm-methode .vm-satellite{border-radius:4px}.vm-methode .vm-orbit-b{border-radius:24px}.vm-faq .vm-core{scale:.8}.vm-faq .vm-face span{font-size:0}.vm-faq .vm-face span::after{content:'?';font-size:70px;font-weight:700}.vm-contact .vm-orbit{border-width:2px}.vm-projet,.vm-estimation{height:270px;max-width:500px}.vm-projet .vm-world,.vm-estimation .vm-world{scale:.75;transform-origin:50% 30%}.vm-projet .vm-satellite-2,.vm-estimation .vm-satellite-2{bottom:-20px}.vm-realisations .vm-satellite{background:linear-gradient(140deg,#343139,#171619);border-color:#ffffff30;color:#fff}.vm-realisations .vm-caption{color:#b0a6ae}.vm-tilt{rotate:var(--vm-rx,0deg) 1 0 0;transform:perspective(950px) rotateX(var(--vm-rx,0deg)) rotateY(var(--vm-ry,0deg));transition:transform .18s ease-out!important}.vm-tilt::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--vm-light-x,50%) var(--vm-light-y,50%),#ffffff18,transparent 55%);border-radius:inherit}.vm-reveal{transition:opacity .7s ease var(--vm-delay),translate .7s cubic-bezier(.2,.7,.2,1) var(--vm-delay);opacity:.25;translate:0 28px}.vm-reveal.vm-entered{opacity:1;translate:0 0}.vm-finale{position:relative;isolation:isolate;overflow:hidden}.vm-finale-art{position:absolute;inset:0;z-index:-1;pointer-events:none;perspective:700px}.vm-finale-art i{position:absolute;width:460px;height:460px;border:1px solid #e6394630;border-radius:50%;left:calc(50% - 230px);top:calc(50% - 230px);animation:vm-ring 22s linear infinite;animation-play-state:paused}.vm-finale-art i:nth-child(2){animation-delay:-7s;border-width:2px}.vm-finale-art i:nth-child(3){animation-delay:-14s;width:600px;height:600px;left:calc(50% - 300px);top:calc(50% - 300px)}.vm-in-view .vm-finale-art i{animation-play-state:running}
@keyframes vm-float{50%{transform:translate3d(0,-13px,85px)}}@keyframes vm-ring{from{transform:rotateX(65deg) rotateY(0)}to{transform:rotateX(65deg) rotateY(360deg)}}
@media(max-width:700px){.v-gallery-fluid{height:495px;perspective:900px}.v-gallery-fluid .rcard{width:min(300px,calc(100vw - 60px));margin-left:calc(max(-150px,(60px - 100vw)/2));height:450px;padding:18px;top:18px}.v-gallery-fluid .rcard__thumb{height:150px}.v-gallery-fluid .rcard h4{font-size:1.08rem}.v-gallery-fluid .rcard p{font-size:.86rem}.v-gallery-info{gap:12px;flex-wrap:wrap}.v-gallery-info>span:first-child{display:none}.vm-sculpture{height:275px;margin-top:20px;overflow:hidden}.vm-world{scale:.76;transform-origin:50% 25%;width:130%;left:-15%}.vm-satellite{font-size:10px;padding:12px;gap:8px}.vm-satellite-0{left:7%}.vm-satellite-1{right:5%}.vm-satellite-2{bottom:-17px;left:18%}.vm-orbit{width:270px;height:270px;left:calc(50% - 135px)}.vm-caption{font-size:10px;bottom:4px}.vm-projet,.vm-estimation{height:215px}.vm-projet .vm-world,.vm-estimation .vm-world{scale:.6}.vm-reveal{translate:0 15px}}
@media(prefers-reduced-motion:reduce){.vm-world,.vm-core{will-change:auto}.vm-satellite,.vm-finale-art i{animation:none}.vm-reveal{opacity:1;translate:none;transition:none}.vm-tilt{transform:none!important}.v-gallery-fluid .rcard{will-change:auto}}
/* Portfolio: alternating editorial project stages. */
.vm-portfolio{padding-top:155px!important;background:#111113!important}.vm-portfolio>.band-vid{display:none}.vm-portfolio>.container{max-width:1240px}.vm-portfolio .section-header{max-width:880px;margin-bottom:65px}.vm-portfolio h1{font-size:clamp(3.4rem,8vw,6.6rem);line-height:1.02;letter-spacing:-.065em;text-align:left!important}.vm-portfolio h1 span{display:block;color:#ef364a!important}.vm-portfolio .section-header>p{text-align:left;font-size:15px;max-width:650px;line-height:1.8;color:#a6a1aa!important}.vm-portfolio .section-tag{display:flex;width:max-content}.vm-project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff25;padding:24px 0 36px}.vm-project-toolbar>p{font-size:11px;letter-spacing:.12em;color:#aaa4b1}.vm-project-filters{display:flex;gap:8px;flex-wrap:wrap}.vm-project-filters button{font:500 12px/1.3 'Inter',sans-serif;padding:12px 18px;border-radius:99px;color:#c7c2cd;background:transparent;border:1px solid #ffffff25}.vm-project-filters button[aria-pressed=true]{background:#f9f6f0;color:#161519;border-color:#f9f6f0}.vm-portfolio .realisations-grid{display:flex;flex-direction:column;gap:96px}.vm-portfolio .vm-project{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;align-items:center;border:0;border-radius:0;padding:0;background:none;box-shadow:none;overflow:visible;transform:none!important}.vm-portfolio .vm-project[hidden]{display:none}.vm-portfolio .vm-project::before,.vm-portfolio .vm-project::after{display:none}.vm-project:nth-child(even) .vm-project-visual{order:2}.vm-project-visual{position:relative;min-height:390px;padding:60px 28px;background:radial-gradient(ellipse at 35% 30%,#562f40,#242029 65%);border:1px solid #ffffff12;border-radius:26px;perspective:1100px;overflow:hidden}.vm-project:nth-child(3n+2) .vm-project-visual{background:radial-gradient(ellipse at 35% 30%,#304448,#1d2528 65%)}.vm-project:nth-child(3n) .vm-project-visual{background:radial-gradient(ellipse at 35% 30%,#464232,#27251f 65%)}.vm-project .realisation-thumb{height:270px!important;margin:0!important;aspect-ratio:auto;border-radius:12px;transform:rotateY(-12deg) rotateX(5deg) rotateZ(-3deg);box-shadow:16px 25px 30px #0006;border:1px solid #ffffff30;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.vm-project:nth-child(even) .realisation-thumb{transform:rotateY(12deg) rotateX(5deg) rotateZ(3deg)}.vm-project-visual:hover .realisation-thumb,.vm-project-visual:focus-within .realisation-thumb{transform:rotateY(0) rotateX(0) rotateZ(0) scale(1.025)}.vm-project .realisation-thumb img{object-fit:cover}.vm-project-index{position:absolute;top:22px;left:24px;font-size:10px;letter-spacing:.15em;color:#e2d6df}.vm-project-zoom{position:absolute;bottom:17px;right:20px;border:0;background:transparent;color:white;font-size:12px;padding:10px}.vm-project-copy h3{font-size:clamp(1.65rem,3vw,2.5rem)!important;line-height:1.15;letter-spacing:-.045em;font-weight:700!important}.vm-project-copy .realisation-client{color:#ef6878;font-size:12px;margin:15px 0}.vm-project-copy .realisation-desc{font-size:14px;line-height:1.85;color:#bcb6c3}.vm-project-copy .realisation-results{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;border-top:1px solid #ffffff20;padding-top:22px}.vm-project-copy .realisation-metric-value{font-size:15px}.vm-project-copy .realisation-metric-label{font-size:11px;line-height:1.5}.vm-project-copy .realisation-tags{margin-bottom:20px}.vm-lightbox{margin:auto;width:min(1100px,calc(100% - 24px));max-height:94dvh;overflow:auto;background:#171619;color:white;border:1px solid #ffffff30;border-radius:22px;padding:20px}.vm-lightbox::backdrop{background:#060509dc;backdrop-filter:blur(12px)}.vm-lightbox header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px}.vm-lightbox h2{font:600 18px/1.4 'Inter',sans-serif}.vm-lightbox button{border:1px solid #ffffff30;background:transparent;color:white;width:44px;height:44px;flex-shrink:0;border-radius:50%;font-size:24px}.vm-lightbox img{display:block;width:100%;max-height:74dvh;object-fit:contain;border-radius:12px}.vm-lightbox p{margin-top:12px;color:#b8b1bf;font-size:12px}
@media(max-width:700px){.vm-portfolio{padding-top:125px!important}.vm-portfolio h1{font-size:3.5rem}.vm-portfolio .section-header>p{font-size:13px}.vm-project-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.vm-project-filters{gap:6px}.vm-project-filters button{font-size:11px;padding:11px 12px}.vm-portfolio .realisations-grid{gap:65px}.vm-portfolio .vm-project{grid-template-columns:1fr;gap:24px}.vm-project:nth-child(even) .vm-project-visual{order:0}.vm-project-visual{min-height:270px;padding:50px 18px;border-radius:20px}.vm-project .realisation-thumb{height:185px!important}.vm-project-copy h3{font-size:1.9rem!important}.vm-project-copy .realisation-desc{font-size:13px}.vm-project-copy .realisation-results{gap:15px}.vm-lightbox{padding:14px}.vm-lightbox h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){.vm-project .realisation-thumb{transform:none!important;transition:none}}
.v-motion-site .hero-title .line-inner{animation-delay:.12s!important}.v-motion-site .hero-badge{animation-delay:0s!important}.v-motion-site .hero-subtitle,.v-motion-site .hero-buttons{animation-delay:.2s!important}.v-motion-site .cursor,.v-motion-site .cursor-dot{display:none!important}.v-motion-site{cursor:auto}.v-motion-site a,.v-motion-site button{cursor:pointer}
@media(min-width:1000px){body[data-studio-page=index] .hero-content{max-width:1220px;width:100%;display:grid;grid-template-columns:1.12fr 1fr;column-gap:42px;text-align:left;align-items:center}body[data-studio-page=index] .hero-badge{grid-column:1;grid-row:1;justify-self:start;margin-bottom:20px}body[data-studio-page=index] .hero-title{grid-column:1;grid-row:2;font-size:clamp(2.7rem,4vw,3.6rem);margin-bottom:0}body[data-studio-page=index] .hero-subtitle{grid-column:1;grid-row:3;margin:24px 0 28px;font-size:1rem}body[data-studio-page=index] .hero-buttons{grid-column:1;grid-row:4;justify-content:flex-start;gap:10px}body[data-studio-page=index] .hero-buttons>a{padding:16px 25px}body[data-studio-page=index] .vm-sculpture{grid-column:2;grid-row:1/5;margin:0;height:410px}body[data-studio-page=index] .vm-world{top:40px}body[data-studio-page=index] .vm-satellite-0{left:0}body[data-studio-page=index] .vm-satellite-1{right:0}body[data-studio-page=index] .vm-caption{bottom:0}body[data-studio-page=index] .hero-visual{max-width:1220px;max-height:none;margin-top:65px}body[data-studio-page=index] .hero-visual img{height:auto;object-fit:contain}}
@media(max-width:700px){body[data-studio-page=methode] .compare-table{table-layout:fixed;width:100%}body[data-studio-page=methode] .compare-table th,body[data-studio-page=methode] .compare-table td{padding:12px 8px;overflow-wrap:anywhere;font-size:12px}body[data-studio-page=methode] .container{min-width:0;max-width:100%}}
body[data-studio-page=realisations] #nav{background:rgba(250,248,244,.94);backdrop-filter:blur(18px);border-bottom:1px solid #15151510}body[data-studio-page=realisations] .vm-project{scroll-margin-top:115px}.vm-tilt{rotate:none}
.v-motion-site .has-band-vid{overflow:clip}
/* Brand marks and direct cube manipulation. */
.vm-face img{display:block;width:76px;height:82px;object-fit:contain}.vm-face span{display:grid;place-items:center}.vm-faq .vm-face span::after{display:none}.vm-node img{width:24px;height:28px;object-fit:contain}.v-star{background:#faf8f4;border-color:#e4dcd7}.v-star img{display:block;width:34px;height:40px;object-fit:contain;margin:auto;animation:vm-logo-float 3s ease-in-out infinite}.v-pad img{width:34px;height:42px;object-fit:contain;margin:auto}.cta-popup__left::before{content:'';width:135px;height:165px;background:url('/assets/vibesense_symbole.svg') center/contain no-repeat;animation:vm-logo-float 5s ease-in-out infinite}.vm-sculpture{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.vm-sculpture.vm-grabbing{cursor:grabbing}.vm-sculpture img{-webkit-user-drag:none}.vm-sculpture:focus-visible{outline:2px solid #e63946;outline-offset:4px;border-radius:24px}.vm-cube-hint{position:absolute;bottom:22px;width:100%;left:0;text-align:center;font:500 10px/1.3 Inter,sans-serif;color:#9b737a;pointer-events:none}.vm-button-web{position:fixed;z-index:2147483647;pointer-events:none;overflow:hidden;contain:strict}.vm-button-web svg{display:block;max-width:none}.vm-grabbing .vm-satellite{animation-play-state:paused}@keyframes vm-logo-float{50%{transform:translateY(-3px) rotate(7deg)}}@media(prefers-reduced-motion:reduce){.v-star img,.cta-popup__left::before{animation:none}}
/* Mobile layouts: inline desktop grids must also collapse. */
@media(max-width:768px){
 .v-motion-site .section [style*="grid-template-columns"],.v-motion-site .offers-main,.v-motion-site .economies-grid{grid-template-columns:minmax(0,1fr)!important}
 .v-motion-site .offers-main{gap:18px!important}
 .v-motion-site .offers-main>div{padding:24px!important;min-width:0}
 .v-motion-site .section-tag{max-width:100%;white-space:normal;line-height:1.5;overflow-wrap:anywhere}
 .v-motion-site .hero-content{max-width:100%;min-width:0}
 .v-motion-site .hero-content>.hero-badge,.v-motion-site .hero-content>.hero-title,.v-motion-site .hero-content>.hero-subtitle,.v-motion-site .hero-content>.hero-buttons{margin-left:20px;margin-right:20px}
 .v-motion-site .section [style*="grid-template-columns"]>div{min-width:0}
 .v-motion-site input,.v-motion-site textarea,.v-motion-site select{max-width:100%;font-size:16px}
 .v-motion-site .lf-card{min-width:0;overflow-wrap:anywhere}
 .v-motion-site .cookie-buttons{flex-wrap:wrap}
}
@media(max-width:360px){.v-motion-site .offers-main>div{padding:20px!important}.v-motion-site .cta-popup__right{padding:52px 20px 24px}.v-motion-site .v-game{padding:22px}}
@media(max-width:768px){
 .v-motion-site .reveal-left,.v-motion-site .reveal-right{transform:translateY(18px)}
 .v-motion-site .reveal-left.visible,.v-motion-site .reveal-right.visible{transform:none}
 body[data-studio-page=contact] .nav-inner{padding:0 20px;gap:12px}
 body[data-studio-page=contact] .nav-cta{display:none}
 body[data-studio-page=contact] .nav-logo{gap:8px;font-size:15px;flex-shrink:0}
 body[data-studio-page=contact] .contact-info-item{display:block;overflow-wrap:anywhere;line-height:1.6}
 body[data-studio-page=contact] .contact-info-item strong{display:block;margin-bottom:4px}
 .vm-table-scroll{max-width:100%;overscroll-behavior-x:contain}
 .vm-table-scroll::before{content:'Glissez le tableau pour comparer les offres ↔';display:block;color:#bbb;font-size:12px;padding:0 0 14px}
}
body[data-studio-page=services] .compare-table{min-width:900px!important;table-layout:auto}
body[data-studio-page=services] .compare-table th{width:auto;background:#1b1b20!important;color:#dedbe4!important}
body[data-studio-page=services] .compare-table td{background:#17171c!important;color:#c8c3d0!important}
body[data-studio-page=services] .compare-table td:first-child{color:#fff!important;min-width:150px}
body[data-studio-page=services] .compare-table td:last-child,body[data-studio-page=services] .compare-table th:last-child{background:#39212a!important;color:#fff!important}
@media(max-width:768px){.v-motion-site .nav-inner>.nav-cta{display:none}body[data-studio-page=index] .hero-title .red{white-space:nowrap}.v-motion-site .cookie-btn-settings{color:#666}}
