:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.dune-loading{position:fixed;inset:0;z-index:100000;background:#06070b;color:#e5eaf4;display:grid;place-items:center;font:11px ui-monospace,monospace;transition:opacity .7s var(--ease-out);isolation:isolate}
.dune-loading::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#17223a80,transparent 60%),linear-gradient(#a4bbdb09 1px,transparent 1px),linear-gradient(90deg,#a4bbdb09 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;z-index:-1}
.dune-loading.complete{opacity:0;pointer-events:none}
.loading-top,.loading-bottom{position:absolute;left:4vw;right:4vw;display:flex;justify-content:space-between;gap:20px;letter-spacing:.15em;color:#9ea9b9}.loading-top{top:35px}.loading-bottom{bottom:35px}.loading-bottom a{color:#d7e4ff;text-decoration:none;border-bottom:1px solid #526073;padding-bottom:8px;letter-spacing:0}
.loading-core{width:min(320px,65vw);position:relative;text-align:center}.loading-core img{width:80%;margin:0 auto 50px;position:relative}.loading-meter{height:1px;background:#e1e9fa24}.loading-meter i{display:block;height:1px;background:#b2cfff;transform:scaleX(0);transform-origin:left;transition:transform .3s linear;box-shadow:0 0 15px #76aafa}.loading-status{margin-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a7b2c6}.loading-status b{font-weight:400;color:#edf4ff;font-size:16px}
.loading-orbit{position:absolute;left:50%;top:15%;width:330px;height:330px;transform:translate(-50%,-50%);opacity:.6}.loading-orbit i{position:absolute;inset:0;border:1px solid #b2cfff16;border-radius:50%;transform:rotateX(65deg) rotate(-25deg)}.loading-orbit i:nth-child(2){inset:18px;transform:rotateX(50deg) rotate(50deg)}.loading-orbit i:nth-child(3){border-top-color:#c6d8fc88;animation:dune-loading-orbit 5s linear infinite}
@keyframes dune-loading-orbit{from{transform:rotateX(65deg) rotate(0)}to{transform:rotateX(65deg) rotate(360deg)}}
.dune-plan-figure{padding:0;border:0;border-radius:0;max-width:720px;aspect-ratio:1.16;background:radial-gradient(ellipse,#17223855,transparent 70%)}
.dune-plan-figure::before,.dune-plan-figure::after{display:none}
.dune-study{width:100%;height:100%;position:relative;perspective:1100px;font:10px ui-monospace,monospace;color:#cbd7e8}
.study-caption{position:absolute;left:4%;right:4%;bottom:0;display:flex;justify-content:space-between;border-top:1px solid #cbd7e830;padding-top:14px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;gap:12px}
.study-orbit{position:absolute;inset:13% 4% 12%;border:1px solid #cbd7e826;border-radius:50%;transform:rotate(-22deg)}
.study-orbit::after{content:"";position:absolute;inset:13%;border:1px solid #cbd7e812;border-radius:50%}
.study-card{position:absolute;width:51%;aspect-ratio:1.78;object-fit:cover;border:1px solid #bacbdf45;border-radius:4px;box-shadow:0 20px 40px #0009;transition:transform 1s var(--ease-out),opacity .8s ease;opacity:0}
.study-card.a{left:3%;top:14%;transform:translateY(24px) rotateY(14deg) rotate(-9deg)}.study-card.b{right:0;top:31%;transform:translateY(24px) rotateY(-10deg) rotate(7deg)}.study-card.c{left:10%;top:53%;transform:translateY(24px) rotate(-4deg)}
.visible .study-card,.vu .study-card{opacity:1;transform:translateY(0) rotate(-6deg)}.visible .study-card.b,.vu .study-card.b{transition-delay:.13s;transform:translateY(0) rotate(6deg)}.visible .study-card.c,.vu .study-card.c{transition-delay:.26s;transform:translateY(0) rotate(-3deg)}
.study-tag{position:absolute;color:#a3b9d8;font-size:9px;letter-spacing:.14em}.study-tag.a{left:5%;top:7%}.study-tag.b{right:0;top:24%}.study-tag.c{left:10%;top:80%}
.study-stack{position:absolute;inset:12% 9% 21%;transform:rotateX(35deg) rotateY(-17deg) rotate(-7deg);transform-style:preserve-3d}
.study-layer{position:absolute;inset:0;border:1px solid #a9c9f266;border-radius:6px;background:linear-gradient(140deg,#a1c3fe12,#a1c3fe03);transition:transform 1.2s var(--ease-out);box-shadow:0 25px 70px #0006}.study-layer img{width:100%;height:100%;object-fit:cover;border-radius:6px;opacity:.8}.study-layer span{position:absolute;left:16px;bottom:16px;font-size:9px;letter-spacing:.2em}
.study-layer:first-child{background:repeating-linear-gradient(0deg,transparent 0 29px,#aacaff28 30px),repeating-linear-gradient(90deg,#0a101b 0 49px,#aacaff28 50px)}.visible .study-layer:nth-child(2){transform:translate3d(25px,-25px,35px)}.visible .study-layer:nth-child(3){transform:translate3d(50px,-50px,70px)}
.study-flow{position:absolute;inset:12% 3% 15%;display:flex;flex-direction:column;justify-content:center;gap:26px}.study-flow::before{content:"";position:absolute;left:22px;top:12%;bottom:12%;width:1px;background:linear-gradient(#9dbcf2,#edd0ac)}.study-node{position:relative;display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center}.study-node i{font-style:normal;background:#0b101c;border:1px solid #b4cfff50;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#bdd1f3}.study-node strong{font-size:14px;font-weight:400}.study-node p{margin:8px 0 0;font-size:11px;line-height:1.6;color:#8496ad}.study-node:nth-child(2){margin-left:35px}.study-node:nth-child(3){margin-left:70px}
.study-route{width:100%;height:100%}.study-route text{fill:#cbd7e8;font:13px ui-monospace,monospace}.study-route .index{fill:#89a4cb;font-size:10px}.study-route .rail{fill:none;stroke:#6c839e;stroke-width:1}.study-route .signal{fill:none;stroke:#c4d8fa;stroke-width:2;stroke-dasharray:1100;stroke-dashoffset:1100}.visible .study-route .signal{animation:dune-route 1.8s var(--ease-out) forwards}.study-route circle{fill:#101a28;stroke:#b1c9ed}
@keyframes dune-route{to{stroke-dashoffset:0}}
.dune-plan{max-width:1280px;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(30px,4vw,70px)}
.dune-plan-propos{max-width:none}.dune-plan-titre{font-size:clamp(25px,2.35vw,39px);line-height:1.25}.dune-plan-chapo{max-width:46ch;font-size:clamp(13px,1.04vw,17px)}.dune-plan-en{max-width:48ch}
.dune-reperes{z-index:70;pointer-events:auto;left:clamp(14px,2vw,34px);gap:6px}.dune-repere{min-height:36px;padding:4px 0;pointer-events:auto;font-size:10px}.dune-repere:focus-visible,.dune-header a:focus-visible{outline:1px solid #bbd2f8;outline-offset:7px}
.dune-plan-figure{pointer-events:auto}.dune-plan-propos{pointer-events:auto}.dune-at-footer .dune-reperes{z-index:70}
.study-orbit{animation:study-orbit-drift 24s ease-in-out infinite alternate}.study-route .signal{stroke-dasharray:70 1030;stroke-dashoffset:0;animation:study-travel 8s linear infinite!important}
.visible .study-layer:nth-child(2){animation:study-layer-drift 8s ease-in-out infinite alternate}.visible .study-layer:nth-child(3){animation:study-layer-top 7s ease-in-out infinite alternate}
@keyframes study-travel{to{stroke-dashoffset:-1100}}
@keyframes study-orbit-drift{to{transform:rotate(15deg) scale(.96)}}
@keyframes study-layer-drift{to{transform:translate3d(18px,-18px,25px)}}
@keyframes study-layer-top{to{transform:translate3d(65px,-65px,85px)}}
@media(hover:hover) and (pointer:fine){.dune-plan-titre.lit,.dune-temps-ligne.lit,.studio-heading.lit{background-image:radial-gradient(circle 150px at var(--light-x) var(--light-y),#cfddff,#f0dfd0 38%,#f4f6fa 78%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none}}
@media(max-width:860px){.dune-plan{grid-template-columns:1fr;gap:20px;max-width:560px}.dune-plan-figure{grid-row:1;max-width:min(50vh,400px);max-height:38vh}.dune-plan-propos{grid-row:2}.dune-plan-titre{font-size:clamp(21px,4.4vw,30px)}.dune-studio{padding-left:90px;padding-right:24px}.dune-plan-en{display:none}.dune-plan-etiquette{margin-bottom:16px}.dune-plan-chapo{font-size:13px;line-height:1.55}.dune-repere{font-size:8px;gap:7px}}
@media(prefers-reduced-motion:reduce){.study-orbit,.study-layer,.study-route .signal{animation:none!important}.study-route .signal{stroke-dasharray:none!important}.dune-plan-figure{transform:none!important}}
@media(max-width:700px){.loading-top{font-size:9px}.loading-top span:last-child{display:none}.dune-plan-figure{max-width:330px}.study-caption{font-size:7px}.study-node strong{font-size:12px}.study-node p{font-size:9px}.study-flow{gap:18px}.dune-plan-titre{font-size:clamp(19px,4.8vw,26px)}}
@media(prefers-reduced-motion:reduce){.loading-orbit i{animation:none!important}.dune-loading{transition-duration:.1s}.study-card,.study-layer{transition:opacity .15s}.study-route .signal{animation:none!important;stroke-dashoffset:0}.study-card,.visible .study-card,.vu .study-card{transform:none}.visible .study-layer:nth-child(2),.visible .study-layer:nth-child(3){transform:none}}

.dune-work-hint{position:fixed;left:0;top:0;z-index:85;pointer-events:none;opacity:0;background:#e6edfa;color:#0b1018;padding:12px 15px;border-radius:30px;font:10px ui-monospace,monospace;letter-spacing:.08em;transition:opacity .18s ease}
.dune-work-touch{position:fixed;bottom:max(64px,env(safe-area-inset-bottom));left:85px;right:20px;text-align:center;z-index:65;pointer-events:none;color:#edf4ff;background:#0a0e18df;border:1px solid #b9c9df35;border-radius:24px;padding:12px 15px;font:10px/1.5 ui-monospace,monospace;opacity:0;display:none}
@media(hover:hover) and (pointer:fine){.dune-work-hint.visible{opacity:1}}
@media(hover:none),(max-width:700px){.dune-work-hint{display:none}.dune-work-touch{display:block}.dune-work-touch.visible{opacity:1}}
.study-card,.study-layer img{object-fit:contain;aspect-ratio:8/5}.study-card{background:#0c111c}

.dune-demo-view{position:fixed;inset:0;margin:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;border:0;background:#06070b;color:#f4f6fa;overflow:hidden}
.dune-demo-view::backdrop{background:#06070b}
.dune-demo-view[open]{display:grid;grid-template-rows:48px minmax(0,1fr)}
.dune-demo-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;border-bottom:1px solid #ffffff25;font:11px ui-monospace,monospace}
.dune-demo-bar button{font:inherit;color:inherit;background:transparent;border:0;padding:12px 0;cursor:pointer}
.dune-demo-bar button:focus-visible{outline:1px solid #b3cfff;outline-offset:3px}.dune-demo-bar span{color:#a5b3c9}
.dune-demo-view iframe{display:block;border:0;width:100%;height:100%;min-height:0;background:#06070b}
@media(max-width:600px){.dune-demo-bar{padding:0 14px;font-size:10px;gap:12px}.dune-demo-bar span{max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

.dune-footer-legal{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;font:10px/1.6 var(--dune-mono);z-index:2}.dune-footer-legal a{color:#a7b4c8;text-decoration:none}.dune-footer-legal a:hover{color:#fff}.dune-footer-legal a:focus-visible{outline:1px solid #bfd4f8;outline-offset:5px}.dune-footer-bas{bottom:60px}@media(max-width:650px){.dune-footer-legal{bottom:18px;left:20px;right:20px;gap:6px 15px;font-size:9px}.dune-footer-bas{bottom:76px}}
