@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#080e10;--panel:#10191b;--line:#263335;--mint:#b0f4d2;--muted:#a2b1b4;--white:#f0f5f2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--white);font:15px 'DM Sans',sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid #ffffff10;gap:20px}.brand{display:flex;align-items:center;font:600 20px 'Space Grotesk',sans-serif;letter-spacing:1px;gap:7px}.logo{font-size:33px;position:relative;margin-right:10px}.logo span{font-size:20px;color:var(--mint);position:absolute;top:0;right:-9px}.mint{color:var(--mint)}nav{display:flex;gap:34px;color:#c2ccca;font-size:13px}.button,.outline-button{border:0;background:var(--mint);color:#10231a;padding:17px 23px;font-size:13px;font-weight:700;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:24px;transition:transform .2s,background .2s}.button:hover{background:#d4ffe8;transform:translateY(-2px)}.small{padding:13px 18px}.outline-button{background:transparent;color:var(--white);border:1px solid #657a71}.hero{padding:38px 3% 45px 6%;min-height:690px;display:grid;grid-template-columns:.86fr 1.14fr;gap:20px;align-items:center;overflow:hidden}.hero-copy{padding:36px 0;z-index:2}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--mint);line-height:1.8}.eyebrow i,.scene-top i{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:8px;box-shadow:0 0 13px #aef4d2}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(48px,5vw,80px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-4px;margin:28px 0}h1 span{color:var(--mint)}.intro{color:var(--muted);line-height:1.8;font-size:16px}.actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}.text-link{font-size:12px;background:transparent;border:0;color:var(--white);padding:9px 0}.text-link span{margin-left:8px}.location{font-size:10px;color:#809391;margin-top:32px}.location span{margin:0 10px}.scene-wrap{position:relative;height:570px;border:1px solid #37504a55;border-radius:10px;background:#111d1e;overflow:hidden;perspective:900px;box-shadow:0 30px 100px #0007}.scene-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 45% 35%,#65897a55,transparent 65%)}.hall{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.2,.65,.2,1)}.back-wall{position:absolute;left:12%;right:15%;top:12%;bottom:19%;background:linear-gradient(100deg,#253435,#1b2829 55%,#334446);border:1px solid #75908733;box-shadow:inset 0 0 80px #0008}.wall-brand{position:absolute;top:9%;left:9%;font:500 15px 'Space Grotesk',sans-serif;letter-spacing:2px;color:#c4d8cc}.wall-brand b{color:var(--mint)}.wall-brand small{display:block;font:5px sans-serif;letter-spacing:2px;margin-top:7px;color:#b2c9be}.wall{position:absolute;top:0;bottom:0}.left-wall{left:0;width:20%;background:linear-gradient(90deg,#192526,#233132);clip-path:polygon(0 0,100% 12%,100% 81%,0 100%)}.left-wall span{position:absolute;top:34%;left:12%;font:500 15px/1.65 'Space Grotesk';letter-spacing:1px;transform:skewY(10deg);color:#a8c0b7}.left-wall b{color:var(--mint);font-weight:500}.right-wall{right:0;width:20%;background:linear-gradient(90deg,#344544,#111e20);clip-path:polygon(0 12%,100% 0,100% 100%,0 81%);border-right:6px solid #5a726b}.ceiling{position:absolute;top:0;width:100%;height:23%;background:linear-gradient(#0c1719,#3b4d48);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%)}.ceiling div{position:absolute;top:0;left:20%;width:3px;height:180%;background:#d8ffe7;box-shadow:0 0 15px #c9ffcf;transform:rotate(-35deg);transform-origin:top}.ceiling div:nth-child(2){left:50%;transform:rotate(0deg)}.ceiling div:nth-child(3){left:80%;transform:rotate(35deg)}.floor{position:absolute;top:78%;bottom:-12%;left:-10%;right:-10%;background:linear-gradient(#243c35,#131e1c);transform:rotateX(48deg);transform-origin:top;box-shadow:inset 0 12px 20px #91d7aa12}.floor-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 90px,#a1c7b016 91px 92px),repeating-linear-gradient(0deg,transparent 0 50px,#a1c7b020 51px 52px)}.elevator{position:absolute;left:33%;top:27%;width:45%;height:74%;z-index:2}.floor-display{height:29px;display:flex;align-items:center;justify-content:space-between;background:#081412;border:1px solid #52665c;color:var(--mint);font:11px monospace;letter-spacing:1px;padding:0 10px;margin:0 16px 8px}.display-label{font-size:7px}.elevator-frame{height:calc(100% - 57px);position:relative;border:8px solid #50605c;border-bottom:5px solid #64766d;background:#0e1919;box-shadow:0 0 0 2px #122120,4px 4px 15px #0008;overflow:hidden}.door{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(100deg,#4b5d58,#86938a 55%,#4d6159);transition:transform 1.1s cubic-bezier(.4,0,.2,1);z-index:2}.door:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#fff0 0 2px,#c9e9dc08 3px 4px)}.door-left{left:0;border-right:1px solid #152820}.door-right{right:0;border-left:1px solid #b8cdc177}.door-light{position:absolute;top:0;height:3px;left:0;right:0;background:var(--mint);box-shadow:0 0 16px var(--mint);z-index:4}.open .door-left{transform:translateX(-100%)}.open .door-right{transform:translateX(100%)}.elevator-inside{position:absolute;inset:0;background:linear-gradient(150deg,#102e25,#071411);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center}.elevator-inside>span{font:60px 'Space Grotesk';color:#b0f4d250}.elevator-inside p{font-size:11px;line-height:1.5;color:#d3e9dc}.elevator-inside button{background:none;border:1px solid #b0f4d260;color:var(--mint);font-size:9px;padding:10px}.elevator-caption{display:block;text-align:center;font-size:4px;letter-spacing:1.4px;color:#acbcb3;margin-top:7px}.wall-lines{position:absolute;right:4%;top:0;bottom:0;width:1px;background:#bfd4c924;box-shadow:-9px 0 #bfd4c910,-18px 0 #bfd4c910}.plant{position:absolute;bottom:14%;left:14%;width:60px;height:150px;z-index:3}.pot{position:absolute;bottom:0;width:43px;height:58px;background:linear-gradient(90deg,#45544d,#1e2c27);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);box-shadow:0 10px 20px #000}.leaf{position:absolute;bottom:42px;left:18px;width:19px;height:99px;border-radius:100% 0;background:linear-gradient(90deg,#1b4031,#52795c);transform-origin:bottom}.leaf.one{transform:rotate(-32deg)}.leaf.two{transform:rotate(24deg);height:115px}.leaf.three{transform:rotate(-4deg);height:125px}.bench{position:absolute;bottom:16%;right:12%;width:65px;height:33px;background:linear-gradient(#70847b 0 10px,#16251f 11px);transform:skewY(-8deg);box-shadow:3px 20px 30px #0007}.scene-top,.scene-bottom{position:absolute;left:22px;right:22px;display:flex;justify-content:space-between;z-index:5;font:8px monospace;letter-spacing:1.2px;color:#afc5b9;pointer-events:none}.scene-top{top:20px}.scene-top span+span{color:#78958a;font-size:7px}.scene-bottom{bottom:17px;font-size:7px}.floor-panel{position:absolute;right:16px;top:36%;width:127px;background:#0b1515e8;border:1px solid #77958a55;border-radius:7px;padding:13px 9px;z-index:6;backdrop-filter:blur(14px);box-shadow:0 10px 30px #0006}.panel-heading{display:block;font:6px monospace;letter-spacing:.8px;color:#8aa399;margin-bottom:9px;text-align:center}.floor-buttons{display:grid;gap:5px}.floor-buttons button{display:flex;align-items:center;gap:8px;text-align:left;background:#162320;color:#9cafaa;border:1px solid #30423b;border-radius:3px;padding:10px 7px;font-size:9px}.floor-buttons b{font:11px monospace}.floor-buttons button>span:last-child{margin-left:auto}.floor-buttons .active{color:var(--mint);border-color:#b0f4d2;background:#244334}.moving .hall{transform:translateY(10px);filter:blur(1px)}.promise-strip{display:flex;align-items:center;justify-content:space-around;gap:20px;padding:25px 5%;border-block:1px solid var(--line);color:#9cada6;font-size:11px}.promise-strip span:first-child{font-size:9px;letter-spacing:1px}.promise-strip b{color:#e3eee7;margin-left:6px}.section{padding:85px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}h2{font:500 clamp(30px,3.6vw,48px)/1.15 'Space Grotesk';letter-spacing:-1.7px;margin-bottom:14px}.section-heading>p,.approach>div>p:not(.eyebrow){color:var(--muted);line-height:1.7;font-size:13px}.courses{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.course{border:1px solid var(--line);padding:25px 23px;background:linear-gradient(145deg,#15211d,#0d1514);border-radius:6px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.course:hover{transform:translateY(-5px);border-color:#668675}.course-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.course-number{font:36px 'Space Grotesk';color:#607b6c}.course-tag{font-size:8px;letter-spacing:1px;color:var(--mint);border:1px solid #55715f;padding:5px 7px}.course h3{font:500 25px 'Space Grotesk';margin-bottom:8px}.course .subtitle{color:var(--mint);font-size:11px;min-height:27px}.course .desc{font-size:12px;color:#9daea5;line-height:1.7;min-height:65px}.course-meta{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:10px;color:#93a69b}.price{font:500 24px 'Space Grotesk';display:block;color:#e9f1ec;margin:8px 0 20px}.price small{font:10px 'DM Sans';color:#8ca298}.course button{background:transparent;color:var(--white);border:1px solid #42594c;padding:11px 12px;text-align:left;border-radius:3px;font-size:11px}.course button span{float:right}.pricing-note{font-size:10px;color:#7e9289;line-height:1.7;margin-top:18px}.professions{background:#0e1715;border-block:1px solid var(--line)}.profession-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px}.profession-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profession-tabs button{background:transparent;color:#a9b9b1;border:1px solid #2a3d32;border-radius:4px;text-align:left;padding:13px;font-size:12px}.profession-tabs button[aria-selected=true]{background:#b0f4d212;color:var(--mint);border-color:var(--mint)}.profession-detail{border:1px solid #3d5948;padding:32px;border-radius:6px;background:radial-gradient(ellipse at top right,#24453460,transparent)}.profession-detail h3{font:26px 'Space Grotesk';margin:12px 0 25px}.profession-detail ul{padding-left:20px;color:#aec0b5;line-height:2;font-size:13px}.profession-detail>p{color:#8ea799;font-size:11px;line-height:1.7}.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px}.steps article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.steps article>span{font:20px 'Space Grotesk';color:var(--mint)}.steps h3{font-size:16px;font-weight:500;margin-bottom:8px}.steps p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:0}.cta{text-align:center;border-block:1px solid var(--line);background:radial-gradient(ellipse at bottom,#315d3e40,transparent 70%)}.cta h2{font-size:clamp(35px,5vw,65px)}.cta>p:not(.eyebrow){color:var(--muted);font-size:13px}.cta .actions{justify-content:center}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 6%}footer .brand{font-size:14px}footer>span{color:#81978a;font-size:10px}footer button{color:#81978a!important;font-size:10px!important}dialog{background:#101c17;color:var(--white);border:1px solid #526b5a;border-radius:12px;width:min(620px,92vw);padding:42px;max-height:90vh}dialog::backdrop{background:#020705c9;backdrop-filter:blur(8px)}.close{position:absolute;top:12px;right:15px;border:0;background:none;color:white;font-size:28px}dialog h2{font-size:34px}dialog h3{font-weight:500}dialog p,dialog li{color:#afc0b5;line-height:1.7;font-size:13px}dialog li{margin:10px 0}dialog .notice{padding:15px;border:1px solid #526b5a;border-radius:4px;font-size:12px}form{display:grid;gap:15px;margin-top:20px}label{display:grid;gap:7px;color:#c0d3c6;font-size:12px}input,textarea{width:100%;background:#08120d;border:1px solid #3c5444;color:#fff;border-radius:4px;padding:12px}form .form-note{font-size:10px;margin-bottom:0}#form-status{color:var(--mint);margin:0;font-size:12px}@media(min-width:1500px){main,header,footer{max-width:1700px;margin:auto}.scene-wrap{height:660px}}@media(max-width:1050px){nav{gap:16px}.hero{grid-template-columns:1fr 1fr;padding-left:5%;padding-right:3%}h1{font-size:62px}.scene-wrap{height:510px}.floor-panel{right:8px;width:110px}.wall-brand{font-size:11px}.courses{grid-template-columns:1fr 1fr}.course .desc{min-height:40px}.scene-top span+span{display:none}.actions{gap:14px}.text-link{font-size:11px}.left-wall span{font-size:11px}}@media(max-width:760px){header{height:77px;padding-inline:6%}header .brand{font-size:15px}.logo{font-size:27px}header nav{display:none}.small{font-size:10px;padding:11px;gap:8px}.hero{display:flex;flex-direction:column;padding:18px 6% 35px;gap:12px}.hero-copy{width:100%;padding:22px 0 8px}h1{font-size:58px;letter-spacing:-3px;margin:18px 0}.intro{font-size:14px}.hero .actions{margin-top:22px}.location{margin-top:23px;font-size:9px}.scene-wrap{height:450px;width:100%}.floor-panel{width:113px;right:10px;top:34%}.back-wall{left:13%;right:13%}.elevator{left:27%;width:46%}.wall-brand{left:8%;font-size:11px}.left-wall span{font-size:10px}.plant{left:9%;transform:scale(.8);transform-origin:bottom}.scene-bottom{font-size:6px}.promise-strip{display:grid;grid-template-columns:1fr 1fr;padding:23px 6%;gap:18px;font-size:10px}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{margin-top:20px}.courses{gap:10px}.course{padding:19px 15px}.course h3{font-size:23px}.course-top{margin-bottom:22px}.course-number{font-size:29px}.course-tag{font-size:6px;padding:4px}.course .desc{font-size:11px;min-height:75px}.course .subtitle{font-size:10px;min-height:30px}.price{font-size:22px}.profession-layout,.approach{grid-template-columns:1fr;gap:25px}.profession-tabs{gap:6px}.profession-tabs button{font-size:10px}.profession-detail{padding:22px}.approach h2{font-size:33px}footer{flex-wrap:wrap;padding:28px 6%}footer>span{width:100%;order:3}dialog{padding:35px 24px}dialog h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hall-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.webgl-ready .hall,.webgl-ready .scene-glow{display:none}.webgl-ready.open:after{content:'Découvrir cet étage ↗';position:absolute;bottom:54px;left:24px;color:var(--mint);font-size:11px;pointer-events:none}.webgl-ready #hall-visit{position:absolute;bottom:45px;left:20px;z-index:7;background:#102a1fe6;color:var(--mint);border:1px solid #91c9a970;border-radius:4px;padding:12px 15px;font-size:11px}.webgl-ready.open:after{display:none}
.world-caption{position:absolute;left:22px;top:57px;z-index:5;pointer-events:none;max-width:75%;text-shadow:0 2px 15px #000}.world-caption>span{display:block;font:8px monospace;letter-spacing:2px;color:var(--world-color);margin-bottom:8px}.world-caption strong{font:500 19px 'Space Grotesk';color:#eff9f4}.motion-toggle{position:absolute;bottom:47px;right:18px;z-index:8;border:1px solid #839d9a60;background:#071018bd;color:#dbe8e4;border-radius:4px;padding:9px;font-size:9px}.scene-wrap{transition:border-color .8s,box-shadow .8s;--world-color:#b0f4d2}.scene-wrap[data-world='1']{border-color:#70d8ff70;box-shadow:0 15px 90px #137fbd22}.scene-wrap[data-world='2']{border-color:#b59aff80;box-shadow:0 15px 100px #733bc12e}.scene-wrap[data-world='3']{border-color:#ffcb7890;box-shadow:0 15px 110px #ffcb7820}.scene-wrap .floor-buttons .active{color:var(--world-color);border-color:var(--world-color);background:#172736}.scene-wrap #hall-visit{color:var(--world-color);border-color:var(--world-color)}body[data-level='1']{--mint:#70d8ff}body[data-level='2']{--mint:#c2a9ff}body[data-level='3']{--mint:#ffcb78}body{transition:background .8s}body[data-level='1'] .hero{background:radial-gradient(ellipse at right,#12375038,transparent 70%)}body[data-level='2'] .hero{background:radial-gradient(ellipse at right,#331a5338,transparent 70%)}body[data-level='3'] .hero{background:radial-gradient(ellipse at right,#6c441728,transparent 70%)}@media(max-width:760px){.world-caption{top:49px;left:17px}.world-caption strong{font-size:15px}.world-caption>span{font-size:7px}.motion-toggle{font-size:8px;right:12px;bottom:48px}}
.immersion-exit,.immersion-hint{display:none}body.immersive{overflow:hidden}body.immersive .scene-wrap{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;border:0;border-radius:0;z-index:1000;box-shadow:none;background:#07111b}body.immersive .hero{overflow:visible}body.immersive .scene-top{top:29px;left:32px;right:32px}body.immersive .scene-top>span+span{display:none}body.immersive .world-caption{top:82px;left:34px;max-width:calc(100% - 270px)}body.immersive .world-caption strong{font-size:clamp(22px,3vw,38px)}body.immersive .world-caption>span{font-size:10px}body.immersive .floor-panel{position:absolute;right:28px;top:50%;transform:translateY(-50%);width:180px;padding:19px 13px;background:#07131fe8}body.immersive .panel-heading{font-size:9px;margin-bottom:14px}body.immersive .floor-buttons{gap:9px}body.immersive .floor-buttons button{padding:17px 12px;font-size:13px;min-height:53px}body.immersive .floor-buttons b{font-size:16px}body.immersive .immersion-exit{display:block;position:absolute;top:23px;right:28px;z-index:12;background:#0b1822df;border:1px solid #aec7bd70;border-radius:5px;padding:13px 19px;color:#edf8f2;font-size:12px}body.immersive .immersion-hint{display:block;position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:10px;color:#acbdb7;pointer-events:none;white-space:nowrap}body.immersive .scene-bottom{bottom:24px;left:32px;right:32px}body.immersive #hall-visit{bottom:63px;left:32px;font-size:13px;padding:16px 22px}body.immersive .motion-toggle{right:29px;bottom:63px;font-size:11px;padding:12px}body.immersive dialog{z-index:2000}@media(max-width:760px){body.immersive .scene-top{left:18px;top:23px}body.immersive .immersion-exit{right:15px;top:14px;padding:12px;font-size:10px}body.immersive .world-caption{left:18px;top:73px;max-width:calc(100% - 32px)}body.immersive .world-caption strong{font-size:23px}body.immersive .floor-panel{left:15px;right:15px;top:auto;bottom:77px;transform:none;width:auto;padding:12px;background:#07131ff2}body.immersive .panel-heading{margin-bottom:9px;font-size:8px}body.immersive .floor-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}body.immersive .floor-buttons button{padding:9px 3px;min-height:62px;flex-direction:column;gap:5px;font-size:10px;justify-content:center}body.immersive .floor-buttons button>span:last-child{display:none}body.immersive .floor-buttons b{font-size:13px}body.immersive .floor-buttons button[data-floor='0']{order:0}body.immersive .floor-buttons button[data-floor='1']{order:1}body.immersive .floor-buttons button[data-floor='2']{order:2}body.immersive .floor-buttons button[data-floor='3']{order:3}body.immersive #hall-visit{left:16px;bottom:23px;font-size:11px;padding:13px}body.immersive .motion-toggle{right:16px;bottom:23px;font-size:9px}body.immersive .scene-bottom,body.immersive .immersion-hint{display:none}}
/* Appels à l’action : relief, lumière et reflet au survol. */
.button,.outline-button,.course button,#hall-visit{position:relative;isolation:isolate;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s,background .3s,color .3s}
.button::before,.outline-button::before,.course button::before,#hall-visit::before{content:'';position:absolute;inset:-70% -40%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffffff70 49%,transparent 63%);transform:translateX(-110%) rotate(-8deg);transition:transform .65s cubic-bezier(.15,.7,.25,1)}
@media(hover:hover){.button:hover{transform:translateY(-4px) scale(1.025);background:var(--mint);box-shadow:0 0 0 1px var(--mint),0 0 30px color-mix(in srgb,var(--mint) 45%,transparent),0 12px 38px #0008,inset 0 1px 0 #fff9}.outline-button:hover,.course button:hover,#hall-visit:hover{transform:translateY(-3px);color:var(--mint);border-color:var(--mint);background:color-mix(in srgb,var(--mint) 12%,#09151b);box-shadow:0 0 24px color-mix(in srgb,var(--mint) 25%,transparent),0 10px 25px #0006}.button:hover::before,.outline-button:hover::before,.course button:hover::before,#hall-visit:hover::before{transform:translateX(110%) rotate(-8deg)}.floor-buttons button:hover{border-color:var(--world-color,var(--mint));box-shadow:0 0 18px color-mix(in srgb,var(--world-color,var(--mint)) 30%,transparent);background:#29433f;transform:translateX(-3px)}.text-link:hover{color:var(--mint);text-shadow:0 0 17px color-mix(in srgb,var(--mint) 65%,transparent)}}
.button:active,.outline-button:active,.course button:active,#hall-visit:active{transform:translateY(0) scale(.98)}
.button span:empty,.text-link span:empty,.course button span:empty,.floor-buttons button>span:last-child:empty,.logo span:empty{display:none}
@media(prefers-reduced-motion:reduce){.button::before,.outline-button::before,.course button::before,#hall-visit::before{display:none}.button:hover,.outline-button:hover,.course button:hover,#hall-visit:hover,.floor-buttons button:hover{transform:none}}
.brand-image{display:block;width:200px;height:auto}footer .brand-image{width:166px}.wall-brand img{width:150px;height:auto}.scene-brand{display:block;width:121px;height:auto}.scene-top{align-items:center}.video-dialog{width:min(920px,94vw);padding:30px;overflow:auto}.video-dialog h2{font-size:clamp(23px,3vw,34px);padding-right:25px}.video-intro video{display:block;width:100%;aspect-ratio:16/9;max-height:65vh;background:#030806;border-radius:7px;object-fit:contain}.video-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}.video-actions p{font-size:11px;color:#a3b7aa;margin:0}.video-actions .text-link{white-space:nowrap;color:var(--mint)}#video-message:empty{display:none}@media(max-width:760px){header .brand-image{width:154px}.video-dialog{padding:30px 16px 18px}.video-actions{align-items:start;gap:12px}.video-actions p,.video-actions .text-link{font-size:10px}.scene-brand{width:100px}body.immersive .scene-brand{width:136px}}
/* Rappel discret des quatre univers vidéo. */
.course{--course-accent:#b0f4d2}.course[data-level-card='1']{--course-accent:#70d8ff}.course[data-level-card='2']{--course-accent:#c2a9ff}.course[data-level-card='3']{--course-accent:#ffcb78}.course .course-top{margin-bottom:17px}.course-visual{height:112px;position:relative;overflow:hidden;border-radius:5px;margin:0 0 21px;background:#0b1515;border:1px solid color-mix(in srgb,var(--course-accent) 25%,transparent)}.course-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 36%;opacity:.72;filter:saturate(.75);transform:scale(1.015);transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .5s,filter .5s}.course-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0c1714b3,transparent 60%),linear-gradient(115deg,transparent 40%,color-mix(in srgb,var(--course-accent) 9%,transparent));box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--course-accent) 35%,transparent)}.course .course-tag,.course .subtitle{color:var(--course-accent)}.course:hover .course-visual img{transform:scale(1.075);opacity:.93;filter:saturate(1)}.course:hover{border-color:color-mix(in srgb,var(--course-accent) 60%,#263335)}@media(max-width:760px){.course-visual{height:94px;margin-bottom:17px}.course .course-top{margin-bottom:13px}}@media(prefers-reduced-motion:reduce){.course:hover .course-visual img{transform:none}}

/* Signature Ascension : activation lumineuse au survol. */
.brand{position:relative;isolation:isolate;perspective:650px;overflow:visible}
.brand-image{position:relative;z-index:2;transform-origin:50% 80%;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .5s;will-change:transform}
.brand::before,.brand::after{content:"";position:absolute;pointer-events:none;opacity:0}
.brand::before{inset:-10px -18px;z-index:3;background:linear-gradient(110deg,transparent 30%,#b0f4d240 42%,#fff 49%,#b0f4d2 53%,transparent 65%);background-size:280% 100%;background-position:130% 0;mask:url('assets/logo-clair.svg') center / calc(100% - 36px) auto no-repeat;-webkit-mask:url('assets/logo-clair.svg') center / calc(100% - 36px) auto no-repeat}
.brand::after{inset:-16px -12px;z-index:1;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 6px,#b0f4d225 7px,transparent 8px),radial-gradient(ellipse,#7effc543,transparent 68%);filter:blur(.5px);transform:translateY(12px) scaleY(.3)}
@media(prefers-reduced-motion:no-preference){
.brand:is(:hover,:focus-visible,:active) .brand-image{transform:translateY(-3px) rotateX(10deg) scale(1.035);filter:drop-shadow(0 0 9px #b0f4d2a0) drop-shadow(0 5px 1px #4b997b45)}
.brand:is(:hover,:focus-visible,:active)::before{animation:ascension-beam 1.15s cubic-bezier(.2,.65,.3,1) both}
.brand:is(:hover,:focus-visible,:active)::after{animation:ascension-wave 1.2s ease-out both}
}
@keyframes ascension-beam{0%{opacity:0;background-position:130% 0}15%{opacity:1}80%{opacity:1}100%{opacity:0;background-position:-50% 0}}
@keyframes ascension-wave{0%{opacity:0;transform:translateY(14px) scale(.85,.25)}30%{opacity:1}70%{opacity:.65}100%{opacity:0;transform:translateY(-20px) scale(1.12,1.5)}}

/* Couleurs prismatiques et pulsations pendant l’activation uniquement. */
@media(prefers-reduced-motion:no-preference){
.brand:is(:hover,:focus-visible,:active)::before{background-image:linear-gradient(100deg,#ff677e 0%,#ffb95c 15%,#fff176 30%,#73ffc1 45%,#62d9ff 60%,#9f8cff 75%,#ff7bdf 90%,#ff677e 100%);background-size:250% 100%;mix-blend-mode:normal;animation:ascension-prism 1.4s ease-in-out both}
.brand:is(:hover,:focus-visible,:active) .brand-image{animation:ascension-pulse 1.4s ease-in-out both}
}
@keyframes ascension-prism{0%{opacity:0;background-position:100% 0}12%{opacity:1}25%{opacity:.55}38%{opacity:1}52%{opacity:.6}68%{opacity:1}85%{opacity:1}100%{opacity:0;background-position:0% 0}}
@keyframes ascension-pulse{0%,100%{opacity:1}23%,49%{opacity:.65}35%,65%,85%{opacity:1}}

/* Activation continue, arrêt dès la fin du survol ou du focus. */
@media(prefers-reduced-motion:no-preference){
.brand:is(:hover,:focus-visible,:active)::before{animation:ascension-prism-loop 2.4s linear infinite}
.brand:is(:hover,:focus-visible,:active)::after{animation:ascension-wave 2.4s ease-out infinite}
.brand:is(:hover,:focus-visible,:active) .brand-image{animation:ascension-pulse 1.4s ease-in-out infinite}
}
@keyframes ascension-prism-loop{0%{opacity:1;background-position:100% 0}25%{opacity:.65}50%{opacity:1;background-position:0% 0}75%{opacity:.65}100%{opacity:1;background-position:100% 0}}

/* Respiration du logo sans déplacer les éléments de navigation. */
@media(prefers-reduced-motion:no-preference){
.brand:is(:hover,:focus-visible,:active) .brand-image{animation:ascension-breathe 1.6s ease-in-out infinite}
}
@keyframes ascension-breathe{
0%,100%{transform:translateY(-2px) rotateX(6deg) scale(1);opacity:1}
25%{opacity:.7}
50%{transform:translateY(-4px) rotateX(10deg) scale(1.13);opacity:1}
75%{opacity:.7}
}

/* Éclat du faisceau légèrement renforcé. */
.brand::before{filter:brightness(1.22) drop-shadow(0 0 3px #d8fff0aa)}
/* Animations individuelles des dix métiers. */
.sector-effect{position:relative;isolation:isolate;overflow:visible;transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s,border-color .25s!important}
.sector-label{position:relative;z-index:2;display:inline-block;white-space:pre-wrap}
.sector-decor{position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:1;opacity:0}
.sector-effect:is(:hover,:focus-visible) .sector-decor{opacity:1}
@media(prefers-reduced-motion:no-preference){
.sector-effect-0:hover{transform:perspective(550px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(7px);box-shadow:0 10px 25px #0008}
.sector-effect-1:hover{transform:translate(var(--mx,0px),var(--my,0px));box-shadow:0 0 20px #b0f4d230}
.sector-effect-2:is(:hover,:focus-visible) .sector-decor{background:repeating-linear-gradient(0deg,transparent 0 3px,#70f8e936 4px,transparent 5px);box-shadow:inset 0 0 22px #62f6e730;animation:sector-hologram 1.8s linear infinite}
.sector-effect-2:is(:hover,:focus-visible) .sector-label{text-shadow:2px 0 #52e2db88,-2px 0 #b0f4d255}
.sector-effect-3 .sector-decor i{position:absolute;width:3px;height:3px;left:calc(8% + var(--n)*10%);top:70%;border-radius:50%;background:#d6ffab;box-shadow:0 0 7px #afff90;opacity:0}
.sector-effect-3:is(:hover,:focus-visible) .sector-decor i{animation:sector-particle 1.7s calc(var(--n)*-.19s) ease-out infinite}
.sector-effect-4:is(:hover,:focus-visible) .sector-decor{border:1px solid #8fffe2;animation:sector-wave 1.8s ease-out infinite}
.sector-effect-5:is(:hover,:focus-visible) .sector-decor{inset:-2px;border:1px solid #b3edff;box-shadow:0 0 8px #6acfff,inset 0 0 7px #6acfff;clip-path:polygon(0 0,45% 0,48% 8%,52% 0,100% 0,100% 45%,97% 50%,100% 54%,100% 100%,55% 100%,52% 91%,49% 100%,0 100%);animation:sector-electric .85s steps(3) infinite}
.sector-effect-6:is(:hover,:focus-visible) .sector-label{animation:sector-glitch 2s steps(1) infinite}
.sector-effect-7:is(:hover,:focus-visible) .sector-label{animation:sector-build 1.8s ease-in-out infinite}
.sector-effect-7:is(:hover,:focus-visible) .sector-decor{background:linear-gradient(90deg,transparent,#b0f4d245,transparent);background-size:200% 100%;animation:sector-hologram 1.8s linear infinite}
.cursor-spark{position:absolute;pointer-events:none;z-index:3;width:5px;height:5px;border-radius:50%;background:#e1fff4;box-shadow:0 0 8px 3px #7effcb88;animation:sector-trail .65s ease-out forwards}
.sector-effect-9 .alternate-letter{display:inline-block;transition:transform .3s,color .3s}
.sector-effect-9:is(:hover,:focus-visible) .alternate-letter{animation:sector-letter 1.5s ease-in-out infinite;color:#a3ffe1;text-shadow:0 0 10px #6dffb9aa}
#metiers h2{transition:transform .45s,text-shadow .45s;transform-origin:left center}
#metiers h2:is(:hover,:focus-visible){transform:perspective(850px) rotateY(-7deg) rotateX(5deg) translateZ(20px);text-shadow:1px 1px #82ab9a,2px 2px #607f72,3px 3px #41594e,4px 4px #2c4238,0 12px 22px #0009}
header nav a{transition:text-shadow .3s,color .3s}
header nav a:is(:hover,:focus-visible){color:#ddffef;text-shadow:0 0 5px #b0f4d2,0 0 13px #77ffc4,0 0 25px #48e7b0}
}
@keyframes sector-hologram{0%{background-position:100% 0;filter:brightness(.8)}50%{filter:brightness(1.4)}100%{background-position:-100% 0;filter:brightness(.8)}}
@keyframes sector-particle{0%{opacity:0;transform:translateY(0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translateY(-40px) scale(1.3)}}
@keyframes sector-wave{0%{transform:scale(.96);opacity:.8;box-shadow:0 0 0 #b0f4d200}100%{transform:scale(1.12,1.65);opacity:0;box-shadow:0 0 20px #b0f4d250}}
@keyframes sector-electric{0%,100%{opacity:.9;filter:brightness(1)}35%{opacity:.4}65%{opacity:1;filter:brightness(1.7)}}
@keyframes sector-glitch{0%,16%,25%,70%,100%{transform:translate(0);text-shadow:none}18%,73%{transform:translate(-2px,1px);text-shadow:2px 0 #ff81cf,-2px 0 #67eaff}21%,76%{transform:translate(2px,-1px);text-shadow:-2px 0 #ff81cf,2px 0 #67eaff}}
@keyframes sector-build{0%{clip-path:inset(0 100% 0 0);filter:blur(3px);transform:translateY(3px)}55%,85%{clip-path:inset(0);filter:blur(0);transform:translateY(0)}100%{clip-path:inset(0);filter:blur(0)}}
@keyframes sector-trail{to{opacity:0;transform:scale(.1)}}
@keyframes sector-letter{0%,100%{transform:translateY(0) rotateX(0) scale(1)}50%{transform:translateY(-4px) rotateX(20deg) scale(1.12)}}
/* Effets métiers amplifiés : lumière, profondeur et mouvement. */
@media(prefers-reduced-motion:no-preference){
.sector-effect:is(:hover,:focus-visible){z-index:5;border-color:#bcffe8;background-color:#18352d;color:#f0fff8;box-shadow:0 0 20px #6affbf55,0 12px 30px #0008}
.sector-effect-0:hover{transform:perspective(420px) rotateX(calc(var(--rx,0deg)*2)) rotateY(calc(var(--ry,0deg)*2)) scale(1.07);box-shadow:0 18px 30px #0009,0 0 26px #8affca66}
.sector-effect-1:hover{transform:translate(calc(var(--mx,0px)*2),calc(var(--my,0px)*2)) scale(1.06);box-shadow:0 0 30px #8cffe888}
.sector-effect-2:is(:hover,:focus-visible) .sector-decor{background:repeating-linear-gradient(0deg,transparent 0 5px,#70f8e980 6px,transparent 8px),linear-gradient(110deg,transparent,#77ffe955,transparent);box-shadow:inset 0 0 32px #62f6e780,0 0 22px #62f6e750}
.sector-effect-2:is(:hover,:focus-visible) .sector-label{color:#d6ffff;text-shadow:3px 0 #52e2dbcc,-3px 0 #c5a7ff88;transform:translateY(-2px)}
.sector-effect-3 .sector-decor i{width:6px;height:6px;background:#e6ff90;box-shadow:0 0 10px 3px #c0ff80aa}
.sector-effect-3:is(:hover,:focus-visible) .sector-decor i{animation-name:sector-particle-bold;animation-duration:1.35s}
.sector-effect-4:is(:hover,:focus-visible) .sector-decor{border:3px solid #9dffe9;animation-name:sector-wave-bold;animation-duration:1.4s}
.sector-effect-5:is(:hover,:focus-visible) .sector-decor{inset:-4px;border:3px solid #d0f6ff;box-shadow:0 0 15px 4px #6acfffaa,inset 0 0 14px #6acfff;animation-duration:1.1s}
.sector-effect-5:is(:hover,:focus-visible) .sector-label{text-shadow:0 0 10px #8deaff}
.sector-effect-6:is(:hover,:focus-visible) .sector-label{animation-name:sector-glitch-bold;animation-duration:1.6s}
.sector-effect-7:is(:hover,:focus-visible) .sector-label{animation-name:sector-build-bold;animation-duration:2.2s}
.sector-effect-7:is(:hover,:focus-visible) .sector-decor{background:repeating-linear-gradient(90deg,transparent 0 13px,#b0f4d250 14px,transparent 15px),linear-gradient(90deg,transparent,#b0f4d2aa,transparent);background-size:100% 100%,200% 100%}
.cursor-spark{width:9px;height:9px;background:#fff;box-shadow:0 0 10px 5px #7effcbbb,0 0 23px 7px #6be4ff66;animation-duration:.85s}
.sector-effect-9:is(:hover,:focus-visible) .alternate-letter{animation-name:sector-letter-bold;color:#c7ffe4;text-shadow:0 0 14px #6dffb9}
}
@keyframes sector-particle-bold{0%{opacity:0;transform:translateY(8px) scale(.3)}18%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translateY(-62px) translateX(12px) scale(1.5)}}
@keyframes sector-wave-bold{0%{transform:scale(.93);opacity:1;box-shadow:0 0 10px #b0f4d280}100%{transform:scale(1.18,2);opacity:0;box-shadow:0 0 35px #b0f4d2aa}}
@keyframes sector-glitch-bold{0%,16%,29%,70%,100%{transform:translate(0);text-shadow:none}18%,73%{transform:translate(-5px,2px) skewX(-5deg);text-shadow:5px 0 #ff60c8,-5px 0 #51efff}23%,79%{transform:translate(5px,-2px) skewX(5deg);text-shadow:-5px 0 #ff60c8,5px 0 #51efff}}
@keyframes sector-build-bold{0%{clip-path:inset(0 100% 0 0);filter:blur(5px);transform:translateY(10px);letter-spacing:3px}55%,85%,100%{clip-path:inset(0);filter:blur(0);transform:translateY(0);letter-spacing:0;text-shadow:0 0 12px #b0f4d2aa}}
@keyframes sector-letter-bold{0%,100%{transform:translateY(0) rotateX(0) scale(1)}50%{transform:translateY(-9px) rotateX(30deg) scale(1.32);color:#fff}}
/* Réacteur et portail : le décor reste derrière un texte lisible. */
.spectacle-button{position:relative;isolation:isolate;overflow:visible!important;perspective:600px;min-height:48px}
.spectacle-button .spectacle-label{display:block!important;position:relative;z-index:4;margin:0!important;pointer-events:none}
.spectacle-stage{display:block!important;position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:1;margin:0!important}
.spectacle-stage::before,.spectacle-stage::after{content:"";position:absolute;pointer-events:none}
.reactor-button{--cursor-x:50%;--cursor-y:50%}
.reactor-button .spectacle-stage{background:radial-gradient(circle at var(--cursor-x) var(--cursor-y),#fff 0, #d9ffe9 12%,#b0f4d2 65%);transition:box-shadow .3s}
.reactor-button .spectacle-stage::before{inset:2px;border:1px solid #ffffffaa;border-radius:inherit;opacity:0}
.reactor-button .spectacle-stage i{position:absolute;width:4px;height:4px;left:calc(8% + var(--particle)*12%);top:calc(15% + var(--particle)*9%);border-radius:50%;background:#065e49;opacity:0;box-shadow:0 0 5px #fff}
.reactor-button::after{content:"";position:absolute;inset:-4px;border:2px solid #b0f4d2;border-radius:inherit;opacity:0;pointer-events:none}
.portal-button{background:#102b28!important;color:#eafff7!important;border:1px solid #9dffe0!important;box-shadow:0 0 12px #6fffc52a}
.portal-button .spectacle-stage{background:repeating-linear-gradient(0deg,transparent 0 9px,#8bffe819 10px),radial-gradient(ellipse at center,#a2fff2 0,#125d63 15%,#061519 65%)}
.portal-button .spectacle-stage::before,.portal-button .spectacle-stage::after{top:0;bottom:0;width:50%;background:linear-gradient(100deg,#102c2c,#22433f 65%,#2a6559);transition:transform .5s cubic-bezier(.2,.8,.3,1);box-shadow:0 0 15px #b0ffe8}
.portal-button .spectacle-stage::before{left:0;border-right:1px solid #c6ffee}
.portal-button .spectacle-stage::after{right:0;border-left:1px solid #c6ffee}
@media(prefers-reduced-motion:no-preference){
.reactor-button:is(:hover,:focus-visible){transform:translate(var(--pull-x,0px),calc(var(--pull-y,0px) - 3px)) scale(1.045);box-shadow:0 0 20px #7affcba0,0 0 45px #60ffb544,0 12px 24px #0007}
.reactor-button:is(:hover,:focus-visible) .spectacle-stage::before{opacity:1;animation:reactor-circuit 1.8s ease-in-out infinite}
.reactor-button:is(:hover,:focus-visible) .spectacle-stage i{animation:reactor-gather 1.5s calc(var(--particle)*-.18s) ease-in infinite}
.reactor-button.activating::after{animation:reactor-release .6s ease-out}
.portal-button:is(:hover,:focus-visible){transform:translateY(-3px) scale(1.06);box-shadow:0 0 18px #8cffe6aa,0 0 45px #64dfff55,0 14px 26px #0009}
.portal-button:is(:hover,:focus-visible) .spectacle-stage::before{transform:translateX(-23%)}
.portal-button:is(:hover,:focus-visible) .spectacle-stage::after{transform:translateX(23%)}
.portal-button:is(:hover,:focus-visible) .spectacle-stage{animation:portal-depth 1.8s ease-in-out infinite}
.portal-button.activating .spectacle-stage::before{transform:translateX(-105%)}
.portal-button.activating .spectacle-stage::after{transform:translateX(105%)}
.portal-button.activating{transform:scale(1.12);box-shadow:0 0 35px #a4ffe8,0 0 90px #64dfff88}
}
@keyframes reactor-circuit{0%,100%{box-shadow:inset 0 0 4px #fff,0 0 4px #fff}50%{box-shadow:inset 0 0 16px #fff,0 0 12px #fff}}
@keyframes reactor-gather{0%{opacity:0;transform:translateY(0) scale(.5)}25%{opacity:.85}100%{left:var(--cursor-x);top:var(--cursor-y);opacity:0;transform:scale(.1)}}
@keyframes reactor-release{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5,2.2)}}
@keyframes portal-depth{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}

.beginner-price strong{font-size:24px;color:var(--mint)}.path-progress{display:flex;gap:8px;margin:24px 0}.path-progress span{height:5px;flex:1;background:#2c4037;border-radius:4px}.path-progress .done{background:var(--mint)}.path-choices{display:grid;gap:12px;margin:20px 0}.path-choices button{white-space:normal;text-align:left;justify-content:flex-start;min-height:52px}.beginner-program article{padding:15px 0;border-bottom:1px solid #395447}.beginner-program b{color:var(--mint)}.beginner-program p{margin:8px 0 0}#path-film,#path-restart{display:block;margin-top:10px}

/* Le texte et sa couleur identifient ensemble les erreurs du diagnostic. */
.beginner-program .expert-incorrect>b,.beginner-program .expert-incorrect .expert-answer{color:#ff8585}
.master-dialog{width:min(1000px,95vw);padding:0;background:#07121b;border-color:#c6a665;box-shadow:0 0 70px #7bdcff22}.master-dialog>.close{z-index:8}.master-mission{position:relative;isolation:isolate;overflow:hidden;min-height:560px;background:linear-gradient(135deg,#081522dd,#07151bdb)}.master-mission-content{position:relative;z-index:2;padding:44px clamp(22px,5vw,60px)}.master-mission h2{color:#f2e7c6;font-size:clamp(28px,4vw,42px);padding-right:15px}.master-mission .eyebrow,.master-mission .beginner-price strong,.master-mission .beginner-program b{color:#f3cf88}.master-mission .expert-incorrect>b,.master-mission .expert-incorrect .expert-answer{color:#ff8585}.master-mission .outline-button{background:#102737dc;border-color:#6eaaa9;color:#e2fff8}.master-mission .outline-button:hover{background:#235057;box-shadow:0 0 20px #8bfff740}.master-sky{position:absolute;inset:0;z-index:0;opacity:.38;pointer-events:none;background:radial-gradient(ellipse at 80% 15%,#cfaa6644,transparent 55%),linear-gradient(0deg,#03121c,transparent)}.master-sky i{position:absolute;bottom:0;left:calc(var(--tower)*9% - 3%);width:6%;background:repeating-linear-gradient(0deg,transparent 0 16px,#a1f6ff66 17px,transparent 19px),linear-gradient(90deg,#173740,#285464);border-top:1px solid #e4ce96;box-shadow:0 0 22px #76deff22;transform:perspective(500px) rotateY(-15deg)}.master-orbit{position:absolute;top:7%;right:-15%;width:65%;aspect-ratio:1;border:1px solid #e7cb7a88;border-radius:50%;box-shadow:0 0 35px #98ffe722,inset 0 0 35px #98ffe722}.master-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px;background:#04101bce;border:1px solid #627c7f;border-radius:8px}.master-dashboard span{display:block;color:#d9e8e3;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.master-dashboard meter{width:100%;height:12px;accent-color:#a3eac9}.master-simulation-note{font-size:10px!important;margin:10px 0 25px}.master-consequence{padding:20px;border:1px solid #8ae6ba;border-radius:8px;background:#194b3933;margin:20px 0}.master-consequence.is-alert{border-color:#ff8585;background:#6a1e292e}.master-consequence.is-alert h3{color:#ff8585}.master-consequence.is-success h3{color:#b0f4d2}.master-arrival{letter-spacing:3px;color:#f3cf88!important;font-size:11px!important}
@media(prefers-reduced-motion:no-preference){.master-orbit{animation:master-orbit 14s linear infinite}.master-sky i{animation:master-city 5s calc(var(--tower)*-.4s) ease-in-out infinite}.master-consequence{animation:master-feedback .5s ease-out}}
@keyframes master-orbit{50%{transform:rotateX(55deg) rotateZ(90deg);border-color:#a3fff4}100%{transform:rotateX(0) rotateZ(180deg)}}@keyframes master-city{50%{filter:brightness(1.7);transform:translateY(-7px) perspective(500px) rotateY(-15deg)}}@keyframes master-feedback{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.master-dashboard{grid-template-columns:1fr 1fr;padding:12px}.master-mission-content{padding-top:45px}.master-mission h2{font-size:28px}}

.course .course-video-play{display:block;width:100%;padding:0;position:relative;cursor:pointer;overflow:hidden;background:#081317;text-align:center;isolation:isolate;margin-top:0;border:1px solid #82bba766;border-radius:6px}
.course-video-play .preview-play{display:flex!important;align-items:center;justify-content:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid #d7ffefcc;border-radius:50%;background:#04100cc9;color:#e3fff4;box-shadow:0 4px 20px #0008;z-index:2;pointer-events:none;transition:background .25s,box-shadow .25s}
.preview-play svg{margin-left:3px}.course-video-play:is(:hover,:focus-visible) .preview-play{background:#164b3be6;box-shadow:0 0 16px #b0f4d266}
.preview-spark{position:absolute;width:4px;height:4px;pointer-events:none;border-radius:50%;background:#defff2;box-shadow:0 0 6px 2px #93ffd077;z-index:3;animation:sector-trail .55s ease-out forwards}
@media(prefers-reduced-motion:reduce){.preview-spark{display:none}}

/* Trace vidéo visible au-dessus de l’image, sans intercepter les clics. */
.course-video-play img{pointer-events:none}
.course-video-play::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle 42px at var(--preview-x,50%) var(--preview-y,50%),#d5fff085,#91ffcf25 40%,transparent 75%);transition:opacity .2s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.course-video-play:hover::after{opacity:1}}
.course-video-play .preview-spark{display:block!important;position:absolute;width:6px;height:6px;margin:0!important;background:#effff8;box-shadow:0 0 9px 3px #93ffd099;z-index:5;animation:preview-trace .85s ease-out forwards}
@keyframes preview-trace{0%{opacity:.9;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.15)}}
@media(prefers-reduced-motion:reduce){.course-video-play .preview-spark{display:none!important}}

@media(prefers-reduced-motion:no-preference){.course-video-play.is-tracing::after{opacity:1}}

/* La lumière suit le pointeur sur la totalité des quatre cartes. */
.course[data-level-card]{position:relative;isolation:isolate;overflow:hidden}
.course[data-level-card]::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle 72px at var(--card-x,50%) var(--card-y,50%),#d5fff04a,#91ffcf14 45%,transparent 78%);transition:opacity .2s}
@media(prefers-reduced-motion:no-preference){.course[data-level-card].is-tracing::after{opacity:1}}
.card-trace-spark{display:block;position:absolute;width:5px;height:5px;pointer-events:none;border-radius:50%;background:#effff8;box-shadow:0 0 7px 2px #93ffd077;z-index:9;animation:preview-trace .8s ease-out forwards}
.course-video-play::after{display:none}
@media(prefers-reduced-motion:reduce){.card-trace-spark{display:none}}
/* Trace plus lumineuse, accordée à l’univers de chaque étage. */
.course[data-level-card="0"]{--trace-rgb:140,255,196}
.course[data-level-card="1"]{--trace-rgb:90,209,255}
.course[data-level-card="2"]{--trace-rgb:191,143,255}
.course[data-level-card="3"]{--trace-rgb:255,201,104}
.course[data-level-card]::after{background:radial-gradient(circle 92px at var(--card-x,50%) var(--card-y,50%),rgba(var(--trace-rgb),.48),rgba(var(--trace-rgb),.15) 45%,transparent 80%)}
.course[data-level-card] .card-trace-spark{width:6px;height:6px;background:rgb(var(--trace-rgb));box-shadow:0 0 10px 3px rgba(var(--trace-rgb),.7),0 0 19px 5px rgba(var(--trace-rgb),.22);animation-duration:.95s}
/* Contour assorti à la trace de chaque niveau. */
.course[data-level-card]{transition:border-color .25s ease,box-shadow .25s ease}
.course[data-level-card]:is(:hover,:focus-within,.is-tracing){border-color:rgb(var(--trace-rgb));box-shadow:0 0 13px rgba(var(--trace-rgb),.38),0 0 30px rgba(var(--trace-rgb),.15),inset 0 0 13px rgba(var(--trace-rgb),.1)}
/* Point précis et anneau souple, y compris au-dessus des fenêtres modales. */
.future-cursor-dot,.future-cursor-ring{position:fixed;left:0;top:0;pointer-events:none!important;z-index:2147483647;opacity:0;will-change:transform;--cursor-color:176,244,210}
.future-cursor-dot::before{content:"";position:absolute;width:5px;height:5px;left:-2.5px;top:-2.5px;border-radius:50%;background:rgb(var(--cursor-color));box-shadow:0 0 7px rgba(var(--cursor-color),.9)}
.future-cursor-ring::before{content:"";position:absolute;left:-16px;top:-16px;width:32px;height:32px;border:1px solid rgba(var(--cursor-color),.8);border-radius:50%;background:rgba(var(--cursor-color),.035);box-shadow:0 0 10px rgba(var(--cursor-color),.18);transition:transform .2s ease,background .2s,border-color .2s,box-shadow .2s}
.future-cursor-ring.over-action::before{transform:scale(1.45);background:rgba(var(--cursor-color),.1);box-shadow:0 0 17px rgba(var(--cursor-color),.4)}
.future-cursor-ring.cursor-pressed::before{transform:scale(.85)}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){body.future-cursor-on,body.future-cursor-on *{cursor:none!important}.future-cursor-on .future-cursor-dot,.future-cursor-on .future-cursor-ring{opacity:1}}

/* Anneau plus lumineux et rémanence courte du déplacement. */
.future-cursor-ring::before{border-color:rgba(var(--cursor-color),1);border-width:1.5px;box-shadow:0 0 9px rgba(var(--cursor-color),.6),0 0 21px rgba(var(--cursor-color),.3),inset 0 0 7px rgba(var(--cursor-color),.2)}
.future-cursor-ring.over-action::before{box-shadow:0 0 12px rgba(var(--cursor-color),.8),0 0 28px rgba(var(--cursor-color),.4),inset 0 0 9px rgba(var(--cursor-color),.25)}
.future-cursor-trail{position:fixed;width:4px;height:4px;border-radius:50%;pointer-events:none!important;z-index:2147483646;background:rgba(var(--cursor-color),.7);box-shadow:0 0 7px 2px rgba(var(--cursor-color),.3);animation:cursor-afterglow .38s ease-out forwards}
@keyframes cursor-afterglow{from{opacity:.65;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.15)}}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.future-cursor-trail{display:none}}

/* Quatre signatures de curseur selon les sections. */
.future-cursor-ring[data-mode="atom"]::before{width:40px;height:19px;left:-20px;top:-9.5px;border-radius:50%;background:transparent;animation:cursor-atom-a 2.5s linear infinite}
.future-cursor-ring[data-mode="atom"]::after{content:"";position:absolute;width:40px;height:19px;left:-20px;top:-9.5px;border:1.5px solid rgb(var(--cursor-color));border-radius:50%;box-shadow:0 0 9px rgba(var(--cursor-color),.6);animation:cursor-atom-b 2.5s linear infinite}
.future-cursor-ring[data-mode="atom"].over-action::before,.future-cursor-ring[data-mode="atom"].over-action::after{width:36px;height:36px;left:-18px;top:-18px;animation:none;transform:none}
.future-cursor-ring[data-mode="comet"]::before{width:20px;height:20px;left:-10px;top:-10px;border-color:rgba(var(--cursor-color),.55);background:rgba(var(--cursor-color),.12)}
.cursor-comet-tail{width:7px;height:7px;animation-duration:.65s;box-shadow:0 0 12px 3px rgba(var(--cursor-color),.4)}
.future-cursor-ring[data-mode="magnetic"]::before{transition:width .2s,height .2s,left .2s,top .2s,border-radius .2s,box-shadow .2s;}
.future-cursor-ring[data-mode="magnetic"].magnet-locked::before{width:var(--magnet-w);height:var(--magnet-h);left:calc(var(--magnet-w)*-.5);top:calc(var(--magnet-h)*-.5);border-radius:8px;transform:none;background:rgba(var(--cursor-color),.035);box-shadow:0 0 17px rgba(var(--cursor-color),.4)}
.future-cursor-ring[data-mode="hologram"]::before{width:40px;height:40px;left:-20px;top:-20px;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(var(--cursor-color),.15) 6px,transparent 7px);animation:cursor-holo 3s ease-in-out infinite}
.future-cursor-ring[data-mode="hologram"]::after{content:"";position:absolute;width:5px;height:5px;left:-2.5px;top:-2.5px;background:rgb(var(--cursor-color));border-radius:50%;box-shadow:0 0 9px rgb(var(--cursor-color));animation:cursor-satellite 2s linear infinite}
@keyframes cursor-atom-a{from{transform:rotate(35deg) rotateY(20deg)}to{transform:rotate(395deg) rotateY(20deg)}}
@keyframes cursor-atom-b{from{transform:rotate(-35deg) rotateY(-20deg)}to{transform:rotate(325deg) rotateY(-20deg)}}
@keyframes cursor-holo{0%,100%{transform:perspective(120px) rotateX(50deg) rotateY(-15deg)}50%{transform:perspective(120px) rotateX(25deg) rotateY(30deg)}}
@keyframes cursor-satellite{from{transform:rotate(0deg) translateX(25px)}to{transform:rotate(360deg) translateX(25px)}}

/* Conséquences visuelles des décisions dans la simulation Master. */
.master-gauge-track{height:10px;border-radius:8px;background:#263841;overflow:hidden;border:1px solid #61757b;position:relative}
.master-gauge-track i{display:block;height:100%;width:var(--gauge-value);background:#a3eac9;border-radius:inherit;box-shadow:0 0 8px #a3eac966}
.master-gauge small{display:block;font-size:10px;color:#c0d6d1;margin-top:6px}
.master-dashboard .gauge-danger{padding:6px;margin:-6px;border:1px solid #ff7676;border-radius:5px;background:#6e17293b}
.gauge-danger span,.gauge-danger small{color:#ff9191}.gauge-danger .master-gauge-track i{background:#ff5c6f;box-shadow:0 0 12px #ff5c6f}
.gauge-cost-up span,.gauge-cost-up small{color:#ffd182}.gauge-cost-up .master-gauge-track i{background:#ffbf62;box-shadow:0 0 12px #ffbf62}
@media(prefers-reduced-motion:no-preference){.dashboard-alert .master-gauge-track i{animation:master-gauge-shift 1s cubic-bezier(.2,.8,.2,1) both}.dashboard-alert .gauge-danger{animation:master-security-warning 1.4s ease-in-out infinite}}
@keyframes master-gauge-shift{from{width:var(--gauge-start)}to{width:var(--gauge-value)}}
@keyframes master-security-warning{0%,100%{box-shadow:0 0 5px #ff5c6f44;background:#6e17292e}50%{box-shadow:0 0 17px #ff5c6f88;background:#9b203866}}

/* Retour positif après une décision maîtrisée. */
.dashboard-success .master-gauge span,.dashboard-success .master-gauge small{color:#a5ffd0}
.dashboard-success .master-gauge-track{border-color:#77eeb0}
.dashboard-success .master-gauge-track i{background:#6df5a9;box-shadow:0 0 12px #6df5a988}
@media(prefers-reduced-motion:no-preference){.dashboard-success .master-gauge-track i{animation:master-gauge-shift 1s cubic-bezier(.2,.8,.2,1) both}.dashboard-success{animation:master-success-glow 1.2s ease-out}}
@keyframes master-success-glow{0%{box-shadow:0 0 0 #6df5a900}40%{box-shadow:0 0 25px #6df5a966;border-color:#a5ffd0}100%{box-shadow:0 0 8px #6df5a922}}
