:root{--page-title-display:none;}/* Start custom CSS *//* ===== Neptune Studio — Réalisation et projet V2 : effets (CSS de page) ===== */
@property --comet-a{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --orb-a{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --cdc-a{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --edge-a{syntax:'<angle>';inherits:false;initial-value:120deg}

/* Header posé sur le showreel : transparent en haut puis fond noir au défilement */
.elementor-location-header{margin-bottom:-84px}
@supports (animation-timeline: scroll()){
  .elementor-location-header [data-id="609caf8"]{animation:nsHdr linear both;animation-timeline:scroll(root);animation-range:0px 320px}
}
@keyframes nsHdr{from{background-color:rgba(8,6,13,0);border-bottom-color:rgba(255,255,255,0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{background-color:rgba(8,6,13,.92);border-bottom-color:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}
@media (max-width:767px){.elementor-location-header{margin-bottom:-72px}}

/* Vidéos plein cadre (showreel + cartes) */
.ns-ucard-media,.ns-ucard-media video{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block}
@media (max-width:767px){[data-id="379ae834"]{display:none!important}}
@media (min-width:768px){[data-id="54bba7b7"]{display:none!important}}

/* Showreel : chapitres en bas, une barre se remplit à tour de rôle */
.ns-chap-t span{color:#FFB547}
.ns-chap-bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#7FA8FF,#C9C2FF);box-shadow:0 0 10px #9FB8FF;transform:scaleX(0);transform-origin:left;animation:nsChap 16s linear infinite}
[data-id="669beee1"]::after{animation-delay:-12s}
[data-id="27db2b61"]::after{animation-delay:-8s}
[data-id="2038f1be"]::after{animation-delay:-4s}
@keyframes nsChap{0%{transform:scaleX(0);opacity:1}25%{transform:scaleX(1);opacity:1}32%,100%{transform:scaleX(1);opacity:0}}

/* Zone sombre : fond fluide animé */
[data-id="4db0df"]{animation:nsFlTex 46s ease-in-out infinite alternate;will-change:transform;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 92%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 92%,transparent 100%)}
[data-id="7ca10838"]{animation:nsFlA 32s ease-in-out infinite alternate;will-change:transform}
[data-id="5e74df82"]{animation:nsFlB 38s ease-in-out infinite alternate;will-change:transform}
@keyframes nsFlTex{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(4%,-3%,0) scale(1.08)}}
@keyframes nsFlA{from{transform:translate3d(0,0,0)}to{transform:translate3d(260px,180px,0)}}
@keyframes nsFlB{from{transform:translate3d(0,0,0)}to{transform:translate3d(-300px,-220px,0)}}

/* Bandeau défilant */
[data-id="edd66be"]{animation:nsMarq 40s linear infinite}
[data-id="1e87d9cd"]:hover [data-id="edd66be"]{animation-play-state:paused}
.ns-mq-item span{color:#574BA6;font-size:.55em;vertical-align:middle;margin:0 .5em}
@keyframes nsMarq{to{transform:translateX(-50%)}}

/* Petit trait devant les sur-titres */
.ns-kick::before{content:"";width:28px;height:1px;background:currentColor;flex-shrink:0}

/* Dernier projet : deux étoiles filantes en orbite */
[data-id="447d61dc"]{outline:1px solid rgba(255,255,255,.08);outline-offset:-1px}
[data-id="447d61dc"]::before{content:"";position:absolute;inset:0;z-index:6;border-radius:inherit;padding:1.5px;pointer-events:none;
background:conic-gradient(from var(--orb-a),transparent 0deg 120deg,rgba(127,168,255,.25) 150deg,#7FA8FF 174deg,#fff 179deg,transparent 180deg 300deg,rgba(192,140,255,.25) 330deg,#C08CFF 354deg,#fff 359deg,transparent 360deg);
-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
filter:drop-shadow(0 0 4px #9FB8FF) drop-shadow(0 0 12px rgba(143,134,224,.7));opacity:.95;animation:nsOrbit 9s linear infinite}
[data-id="51114a59"]:hover [data-id="447d61dc"]::before{animation-duration:3.2s}
@keyframes nsOrbit{to{--orb-a:360deg}}

/* Coup de cœur : contour rouge-violet animé + halo */
[data-id="699ed934"]{background:conic-gradient(from var(--cdc-a),#FF3B5C,#574BA6 30%,#FF3B5C 50%,#8F2BFF 75%,#FF3B5C)!important;animation:nsCdc 6s linear infinite}
[data-id="699ed934"]::before{content:"";position:absolute;inset:-18px;border-radius:24px;z-index:-1;background:radial-gradient(ellipse at 50% 50%,rgba(255,59,92,.28),rgba(255,59,92,0) 70%);filter:blur(14px);pointer-events:none}
[data-id="5012ccbc"]{display:block}
@keyframes nsCdc{to{--cdc-a:360deg}}

/* Les univers : étoile filante autour de la carte au survol, une couleur par univers */
[data-id="82a37ff"]{--comet:#7FA8FF}[data-id="5a385705"]{--comet:#B3A6FF}[data-id="a4c7c79"]{--comet:#5C8DFF}[data-id="3ae486d6"]{--comet:#C08CFF}
.ns-ucard::before{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;padding:1.5px;pointer-events:none;
background:conic-gradient(from var(--comet-a),transparent 0deg,transparent 290deg,color-mix(in srgb,var(--comet,#C9C2FF) 35%,transparent) 330deg,var(--comet,#C9C2FF) 352deg,#fff 358deg,transparent 360deg);
-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
filter:drop-shadow(0 0 4px var(--comet,#C9C2FF)) drop-shadow(0 0 10px var(--comet,#C9C2FF));
opacity:0;transition:opacity .6s ease;animation:nsComet 3.6s linear infinite;animation-play-state:paused}
.ns-ucard:hover::before,.ns-ucard:focus-visible::before{opacity:1;animation-play-state:running}
@keyframes nsComet{to{--comet-a:360deg}}
.ns-ucard:hover .ns-ucard-media{transform:scale(1.05);filter:brightness(1.1) saturate(1.1)}
.ns-ucard:hover .ns-u-ico{transform:rotate(-10deg) scale(1.06);background-color:var(--comet);border-color:var(--comet)}
.ns-ucard:hover .ns-u-go{color:#fff;letter-spacing:.26em}
.ns-u-ico svg{width:100%;height:100%;display:block}

/* Projets expérimentaux : texture liquide (deux couches qui tournent en sens inverse), reflet irisé, trame, bord irisé, titre glitch */
[data-id="70889cf5"]{animation:nsLiqA 26s ease-in-out infinite alternate;will-change:transform}
[data-id="353f6c37"]{mix-blend-mode:screen;animation:nsLiqB 19s ease-in-out infinite alternate,nsHue 14s linear infinite;will-change:transform,filter}
@keyframes nsLiqA{from{transform:rotate(0deg) scale(1.05)}to{transform:rotate(14deg) scale(1.25) translate3d(3%,-2%,0)}}
@keyframes nsLiqB{from{transform:rotate(0deg) scale(1.3) scaleX(-1)}to{transform:rotate(-22deg) scale(1.1) scaleX(-1) translate3d(-4%,3%,0)}}
@keyframes nsHue{to{filter:hue-rotate(360deg)}}
[data-id="22ebd7c6"]{mix-blend-mode:screen;background:linear-gradient(115deg,rgba(0,0,0,0) 28%,rgba(47,214,195,.16) 40%,rgba(143,134,224,.24) 50%,rgba(255,92,122,.14) 60%,rgba(0,0,0,0) 72%) 0 0/260% 100% no-repeat;animation:nsHolo 9s ease-in-out infinite}
[data-id="77045320"]:hover [data-id="22ebd7c6"]{animation-duration:4s}
@keyframes nsHolo{0%{background-position:120% 0}55%,100%{background-position:-40% 0}}
[data-id="7bacf8ba"]{padding:1px!important;background:linear-gradient(var(--edge-a),rgba(47,214,195,.7),rgba(143,134,224,.35) 35%,rgba(255,255,255,.08) 55%,rgba(255,92,122,.6));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:nsEdge 12s linear infinite}
@keyframes nsEdge{to{--edge-a:480deg}}
[data-id="4329acb7"]{text-shadow:-2px 0 rgba(47,214,195,.55),2px 0 rgba(255,92,122,.45);animation:nsGlitch 6s steps(1) infinite}
@keyframes nsGlitch{0%,91%,100%{transform:none;text-shadow:-2px 0 rgba(47,214,195,.55),2px 0 rgba(255,92,122,.45)}92%{transform:translateX(3px) skewX(-4deg);text-shadow:-6px 0 rgba(47,214,195,.8),5px 0 rgba(255,92,122,.7)}94%{transform:translateX(-2px);text-shadow:4px 0 rgba(47,214,195,.8),-4px 0 rgba(255,92,122,.7)}96%{transform:none}}
@media (max-width:767px){[data-id="353f6c37"]{animation:none}}

/* Rangée YouTube : remplissage violet au survol */
.ns-soc-row{isolation:isolate}
.ns-soc-row::before{content:"";position:absolute;inset:0;z-index:0;background:#574BA6;transform:scaleY(0);transform-origin:bottom;transition:transform .6s cubic-bezier(.2,.7,.1,1)}
.ns-soc-row:hover::before{transform:scaleY(1)}
.ns-soc-row:hover .ns-soc-go{background:#fff;color:#574BA6!important;transform:rotate(-45deg)}
[data-id="534e0ad6"] strong{font-family:var(--ns-font-display);font-weight:800;font-size:17px}

/* Appel au contact : fond bleu Neptune + grain, mot entouré */
[data-id="4bb47e7c"]{background:radial-gradient(120% 90% at 50% 10%,#0B30B4 0%,#0A2386 26%,#0A1450 52%,#08060D 82%)!important}
[data-id="4bb47e7c"]::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#08060D 0%,rgba(8,6,13,0) 30%)}
[data-id="4bb47e7c"]::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.2;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ns-circled span{position:relative;display:inline-block;white-space:nowrap;padding:0 .08em;color:#fff;z-index:0}
.ns-circled span::after{content:"";position:absolute;left:-9%;top:-18%;width:118%;height:136%;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 100' preserveAspectRatio='none'%3E%3Cpath d='M168 9 C 250 8, 297 26, 295 52 C 293 82, 228 96, 148 95 C 64 94, 5 80, 6 50 C 7 20, 78 4, 170 7 C 214 9, 246 15, 262 23' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat}
[data-id="649df4c8"]::after{content:"";position:absolute;inset:-7px;border-radius:999px;border:1px solid rgba(201,194,255,.35);transition:inset .5s cubic-bezier(.2,.7,.1,1),border-color .4s;pointer-events:none}
[data-id="649df4c8"]:hover::after{inset:-12px;border-color:rgba(201,194,255,.7)}

@media (prefers-reduced-motion: reduce){
  [data-id="4db0df"],[data-id="7ca10838"],[data-id="5e74df82"],[data-id="edd66be"],[data-id="699ed934"],[data-id="70889cf5"],[data-id="353f6c37"],[data-id="22ebd7c6"],[data-id="7bacf8ba"],[data-id="4329acb7"],[data-id="447d61dc"]::before,.ns-chap-bar::after{animation:none}
}/* End custom CSS */