@font-face{font-family:Neurial;src:url('polices/NeurialGrotesk-Regular.woff2');font-display:swap}@font-face{font-family:Mono;src:url('polices/GeistMono-400.woff2');font-display:swap}
:root{--ink:#24374d;--muted:#526477;--line:#42638335;--blue:#466e9e;--ease:cubic-bezier(.22,1,.36,1);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#e4eaf1;color:var(--ink);font:14px Neurial,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.dark{--ink:#f1f6ff;--muted:#c0d0e4;--blue:#a9ccef;--line:#a8cbed40;color-scheme:dark}button,select,input{font:inherit}button,a{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:active{transform:scale(.97)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #568fc4;outline-offset:5px}a{text-decoration:none}p,h1,h2,h3{margin:0}p{line-height:1.5}em{font-style:normal;color:var(--blue)}[hidden]{display:none!important}.ambient{position:fixed;inset:0;background:radial-gradient(ellipse at 70% 20%,#fff,#e4eaf1 65%)}#stage{position:fixed;inset:0;z-index:1;pointer-events:none}#stage canvas{width:100%;height:100%;display:block;pointer-events:auto;touch-action:pan-y}.grain{position:fixed;inset:0;z-index:12;pointer-events:none;opacity:.035;background-size:128px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h140v140H0z' filter='url(%23n)'/%3E%3C/svg%3E")}.lines{position:fixed;inset:116px 38px 80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:2;pointer-events:none}.lines:before{content:'';position:fixed;top:0;bottom:0;left:52%;border-left:1px solid var(--line);opacity:.4}
header{position:fixed;inset:0 0 auto;z-index:30;height:116px;display:flex;align-items:center;padding:20px 42px;gap:30px;pointer-events:none}header>*{pointer-events:auto}.logo{width:95px;display:block}.logo img{width:100%;height:auto;display:block}.dark .logo img{filter:invert(1)}.specialty{font:9px/1.7 Mono,monospace;text-transform:uppercase;letter-spacing:.06em}.head-actions{margin-left:auto;display:flex;gap:10px}.glass{border:1px solid #ffffff8c;box-shadow:inset 0 1px 0 #ffffff99,0 4px 20px #1e3f5910;background:linear-gradient(130deg,#ffffff99,#e1eaf15c);backdrop-filter:blur(18px) saturate(125%);border-radius:30px;padding:14px 20px;font-size:12px}.primary{background:#2c4762;color:#fff;border-color:#537392;box-shadow:inset 0 1px 0 #ffffff30}.primary span{margin-left:35px}.dark .glass{background:#d9eaff16;border-color:#b3d1ec35;box-shadow:inset 0 1px 0 #ffffff25}.dark .primary{background:#dfecf8;color:#253b54}.large{padding:18px 25px;min-height:52px}
#world{position:fixed;inset:0;z-index:5;overflow:hidden;pointer-events:none}.beat{position:absolute;inset:0;visibility:hidden;pointer-events:none;will-change:transform}.beat:first-child{visibility:visible}.copy{position:absolute;left:7vw;top:32vh;width:46vw;max-width:720px;pointer-events:auto}.right .copy{left:55vw;width:40vw}.eyebrow{font:10px/1.5 Mono,monospace;letter-spacing:.06em;text-transform:uppercase;margin-bottom:26px}.eyebrow:before{content:'';width:5px;height:5px;display:inline-block;background:currentColor;border-radius:50%;margin-right:10px;vertical-align:2px}h1,h2{font:400 clamp(38px,5.1vw,96px)/1.03 Mono,monospace;letter-spacing:-.082em}.right h2{font-size:clamp(34px,4vw,74px)}.line{display:block;overflow:hidden;padding:2px 0}.line>span{display:block;will-change:transform}.line em{transition:color .25s}.lead{font-size:clamp(14px,1.05vw,18px);color:var(--muted);margin-top:26px;line-height:1.55}.detail{font-size:13px;color:var(--muted);margin-top:24px}.text-button{display:flex;align-items:center;gap:40px;background:none;border-bottom:1px solid var(--line);padding:16px 0;margin-top:24px;min-height:44px;font-size:12px}.text-button span{font-size:19px;transition:transform .3s var(--ease)}.text-button:hover span{transform:translate(4px,3px)}.text-button.back{font-size:10px;margin-top:15px}.compact .copy{top:23vh}.compact h2{font-size:clamp(32px,4.2vw,76px)}
.care-list{margin-top:30px}.care-list button{display:flex;align-items:center;gap:20px;background:none;border-top:1px solid var(--line);padding:20px 0;text-align:left;width:100%;min-height:75px}.care-list button:last-child{border-bottom:1px solid var(--line)}.num{font:10px Mono;opacity:.55}.care-list b{font-weight:400;font-size:18px}.care-list small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.care-list i{margin-left:auto;font-style:normal;font-size:20px}.care-list button>span:nth-child(2){transition:transform .3s var(--ease)}.care-list button:hover>span:nth-child(2){transform:translateX(8px)}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border-top:1px solid var(--line)}.treatment-grid button{background:transparent;text-align:left;padding:20px 8px 20px 0;border-bottom:1px solid var(--line);font-size:16px}.treatment-grid button span{float:right;margin-right:18px}.treatment-grid button:hover{background:#8cb2d51a}.micro{font-size:10px;color:var(--muted);margin-top:15px;max-width:380px}.steps{list-style:none;margin:30px 0 0;padding:0}.steps li{display:flex;gap:24px;border-top:1px solid var(--line);padding:14px 0}.steps li>span{font:11px Mono;opacity:.6}.steps b{font-size:17px;font-weight:400}.steps p{color:var(--muted);font-size:12px;margin-top:4px}.contact .copy{top:25vh}.contact .large{margin-top:28px}.contact-details{display:flex;gap:35px;margin-top:30px;font-size:11px;color:var(--muted)}.mention-demo{font-size:9px;margin-top:24px;color:var(--muted)}.wordmark{position:fixed;bottom:-7vw;left:3vw;font:26vw/1 Neurial;letter-spacing:-.085em;color:#496e9412;z-index:3;pointer-events:none}.dark .wordmark{color:#b7d9ff0a}.gesture{position:fixed;z-index:4;top:137px;right:42px;font-size:9px;color:var(--muted)}.gesture span{display:block;opacity:.7}.view-controls{position:fixed;right:42px;bottom:103px;z-index:31;padding:5px;display:flex;gap:3px}.view-controls button{background:none;font-size:11px;padding:12px 20px;border-radius:30px}.view-controls button[aria-pressed=true]{background:#2c4762;color:#fff}.dark .view-controls button[aria-pressed=true]{background:#e2efff;color:#1f3954}footer{position:fixed;bottom:25px;left:245px;right:42px;display:flex;align-items:center;gap:24px;z-index:30;font:9px Mono}footer nav{display:flex;gap:7px}footer nav button{position:relative;background:none;width:29px;height:29px;font:9px Mono;border:1px solid transparent;border-radius:50%;opacity:.6}footer nav button[aria-current=step]{opacity:1;border-color:var(--line);background:#8fa8c022}#chapter-name{color:var(--muted)}.credits-link{margin-left:auto;background:none;font:inherit;text-decoration:underline;text-underline-offset:4px}#scroll-track{height:1000vh}#loading{position:fixed;top:48%;right:20%;font:11px Mono;z-index:9}#load-error{position:fixed;right:20px;top:130px;max-width:290px;padding:20px;background:#e6edf4e6;color:#24374d;z-index:40;font-size:12px}#load-error button{margin-top:10px;padding:10px}
dialog{position:fixed;padding:0;border:1px solid #ffffffb0;border-radius:30px;background:linear-gradient(130deg,#f3f7fbdc,#dce9f0d6);color:#25384e;backdrop-filter:blur(32px) saturate(125%);box-shadow:inset 0 1px 0 #fff,0 30px 110px #0c263c40;max-height:90svh;width:min(590px,92vw);overflow:auto;overscroll-behavior:contain;transform-origin:85% 12%;scrollbar-width:thin}dialog::backdrop{background:#0b233d60;backdrop-filter:blur(5px)}.sheet{padding:42px}.close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:1px solid #68849b40;border-radius:50%;font-size:24px;background:#ffffff45;z-index:2}.sheet h2{font-family:Neurial;font-size:48px;line-height:1.05;letter-spacing:-.045em;margin-bottom:25px}.sheet>p{font-size:13px;line-height:1.55}.sheet .eyebrow{font-size:9px;margin-bottom:24px}.sheet .credits{font-size:9px;border-top:1px solid #6f839b40;padding-top:17px;margin-top:20px;line-height:1.6}.credits a{text-decoration:underline}.sheet .mention-demo{font-size:10px}.instructions{margin-top:24px}.instructions p{display:grid;grid-template-columns:130px 1fr;border-top:1px solid #62799130;padding:12px 0;font-size:11px;gap:15px}.instructions b{font-weight:400}.instructions span{color:#4b647c}.orbit{float:right;position:relative;width:130px;height:125px;display:grid;place-items:center;margin-top:5px;font:8px Mono;color:#607e9b}.orbit i{position:absolute;inset:8px;border:1px solid #7093b780;border-radius:50%;transform:rotate(-35deg) scaleX(.45)}.orbit i:nth-child(2){transform:rotate(35deg) scaleX(.45)}.orbit i:nth-child(3){transform:rotate(90deg) scaleX(.45)}.orbit{animation:orbit 28s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.form-note{font-size:11px;line-height:1.5;color:#53697e;margin-bottom:23px}form>label{display:block;margin-top:20px;font-size:12px}select{display:block;width:100%;background:#f7fbfc80;color:#24384d;border:1px solid #6a859b50;border-radius:9px;padding:13px;margin-top:8px}fieldset{border:0;margin:23px 0;padding:0}legend{font-size:12px;margin-bottom:12px}.slots{display:flex;gap:8px;flex-wrap:wrap}.slots label{position:relative;cursor:pointer}.slots input{position:absolute;opacity:0}.slots span{display:block;border:1px solid #8099af60;border-radius:30px;padding:12px 17px;font-size:12px;background:#ffffff3b}.slots input:checked+span{background:#2c4762;color:white}.slots input:focus-visible+span{outline:2px solid #426e9b;outline-offset:3px}form .large{width:100%}.success-mark{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;border:1px solid #7a9aae;font-size:30px;margin-bottom:25px}#booking-result h3{font-size:27px;font-weight:400;margin-bottom:16px}#recap{font-size:15px;margin-bottom:20px;white-space:pre-line}.dialog-open .orbit{animation-play-state:running}
@media(hover:hover) and (pointer:fine){.line>span{pointer-events:auto}.line:hover em{color:#6b9dca}.line:hover{--hover-y:-3px}.line>span{translate:0 var(--hover-y,0);transition:translate .35s var(--ease)}.glass:hover{box-shadow:inset 0 1px 0 #fff,0 6px 25px #1e3f5928}}
@media(max-width:760px){header{height:94px;padding:17px 22px;gap:15px}.logo{width:74px}.specialty{display:none}.head-actions{gap:6px}.glass{padding:11px 13px;font-size:10px}.head-actions .primary span{margin-left:8px}.lines{inset:94px 22px 100px}.lines:before{left:50%}.gesture{top:107px;right:24px;font-size:8px}.gesture span{display:none}.copy,.right .copy,.compact .copy,.contact .copy{top:53vh;left:24px;width:calc(100vw - 48px);max-width:none}h1,h2,.right h2,.compact h2{font-size:10.1vw;line-height:1.02;letter-spacing:-.08em}.eyebrow{font-size:7px;margin-bottom:14px}.lead{font-size:12px;margin-top:16px}.detail{font-size:11px;margin-top:12px}.text-button{margin-top:13px;padding:9px 0;font-size:10px;min-height:38px}.care-list{margin-top:16px}.care-list button{padding:10px 0;min-height:55px;gap:12px}.care-list b{font-size:14px}.care-list small{font-size:9px}.compact .copy{top:49vh}.treatment-grid{margin-top:17px}.treatment-grid button{font-size:12px;padding:12px 4px 12px 0}.micro{font-size:8px}.steps{margin-top:16px}.steps li{padding:8px 0;gap:17px}.steps b{font-size:13px}.steps p{font-size:10px;margin-top:2px}.view-controls{right:22px;bottom:70px;padding:3px}.view-controls button{font-size:9px;padding:9px 14px}.wordmark{bottom:45px;font-size:30vw}footer{left:115px;right:22px;bottom:23px;gap:6px}footer nav{gap:1px}footer nav button{width:23px;height:27px;font-size:8px}#chapter-name,.credits-link{display:none}.dune-retour b{display:none!important}.contact .copy{top:48vh}.contact .large{padding:13px 20px;margin-top:15px}.contact-details{font-size:9px;gap:25px;margin-top:18px}.mention-demo{font-size:8px;margin-top:16px}.contact .back{margin-top:7px}.sheet{padding:35px 26px}.sheet h2{font-size:39px}.orbit{width:90px;height:100px}.instructions p{grid-template-columns:105px 1fr;gap:8px;font-size:10px}#loading{top:30%;left:0;right:0;text-align:center}#load-error{top:100px}.slots span{padding:11px 13px}}
@media(max-height:740px) and (min-width:761px){.copy,.right .copy{top:29vh}.compact .copy,.contact .copy{top:23vh}h1,h2,.right h2,.compact h2{font-size:4.4vw}.eyebrow{margin-bottom:18px}.lead{margin-top:15px}.care-list{margin-top:20px}.care-list button{padding:12px 0;min-height:59px}.steps{margin-top:16px}.steps li{padding:9px 0}.contact-details{margin-top:18px}}
@media(max-height:730px) and (max-width:760px),(prefers-reduced-motion:reduce){#world{position:relative;overflow:visible}.beat{position:relative!important;transform:none!important;visibility:visible!important;min-height:100svh;padding:110px 24px 100px}.copy,.right .copy,.compact .copy,.contact .copy{position:relative;top:auto;left:auto;width:100%;max-width:600px;margin:auto;padding-top:32vh}.beat:not(:first-child) .copy{padding-top:8vh}.beat:not(:first-child){background:#e7eef5ed;min-height:85svh}body.dark{--ink:#24374d;--muted:#526477;--blue:#466e9e;--line:#42638335}.line>span{transform:none!important;opacity:1!important}#scroll-track{display:none}.orbit{animation:none}.view-controls{display:none}.detail br{display:none}.beat .copy{pointer-events:auto}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){dialog,.glass{backdrop-filter:none;background:#edf3f8;border-color:#6d8298}.primary{background:#2c4762;color:white}}
dialog{--blue:#466e9e;--muted:#526477;--ink:#25384e;color-scheme:light}

@media(max-width:760px){.view-controls.low-priority{display:none}.gesture{right:25px;top:103px}}

/* V3 : the line supplies perspective; glyphs own entry, inner faces own hover. */
.line{perspective:650px;overflow:visible;clip-path:inset(-20% -8% -12% -8%)}
.line>span{transform:none!important;opacity:1!important;translate:none!important;will-change:auto}
.glyph{display:inline-block;transform-origin:50% 95%;backface-visibility:hidden}
.glyph-face{display:inline-block;transition:transform 380ms cubic-bezier(.22,1,.36,1);transform-origin:50% 65%}
@media(prefers-reduced-motion:reduce){.glyph,.glyph-face{transform:none!important;animation:none!important;transition:none!important}}

/* V5: liquid glass lives on controls; the main composition stays open. */
.copy{--ink:#202c37;--muted:#34424e;--blue:#344b60;color:var(--ink)}
.dark .copy{--ink:#f5f6f7;--muted:#e1e5e8;--blue:#e2e6ec}
.copy .num,.copy .steps li>span{opacity:.85}.copy .mention-demo{color:var(--muted)}
.specialty,.gesture,#chapter-name,.credits-link,.copy .eyebrow{background:#edf1f3b3;color:#263340;backdrop-filter:blur(10px);border-radius:24px;padding:8px 12px;width:fit-content}
.dark .specialty,.dark .gesture,.dark #chapter-name,.dark .credits-link,.dark .copy .eyebrow{background:#17212cb3;color:#f0f2f5}
.copy .eyebrow{margin-left:-12px}.copy .text-button{border:0;border-radius:28px;padding:13px 20px;margin-left:-20px;background:#edf1f34d}
.dark .copy .text-button{background:#17212c66}
footer nav{background:#edf1f3b3;border:1px solid #ffffff50;border-radius:24px;padding:4px 8px;backdrop-filter:blur(10px)}
footer nav button{opacity:.85}.dark footer nav{background:#17212cb3;border-color:#ffffff30}
.liquid-ready header .glass,.liquid-ready .view-controls,.liquid-ready footer nav,.liquid-ready .specialty,.liquid-ready .gesture,.liquid-ready #chapter-name,.liquid-ready .credits-link,.liquid-ready .copy .eyebrow,.liquid-ready .copy .text-button,.liquid-ready .copy>.large{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none}
.liquid-ready header .primary{color:#fff}.liquid-ready .copy>.primary{color:#fff}
@media(max-width:760px){.gesture{padding:4px 7px}.copy .lead{font-size:13px}.copy .care-list small{font-size:10px}footer nav{padding:3px 2px}.copy .micro,.copy .mention-demo{font-size:9px}.copy .eyebrow{padding:6px 10px;margin-left:-10px}.copy .text-button{padding:10px 15px;margin-left:-15px}}

/* Écran de chargement (27.10.2026, Claude) : visible jusqu'à la première image de la scène 3D. */
#aurore-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,#f6f9fc 0%,#e4eaf1 55%,#d3dde8 100%);transition:opacity .9s var(--ease),visibility 0s linear .9s;animation:al-failsafe 0s linear 16s forwards}
#aurore-loader .al-inner{display:flex;flex-direction:column;align-items:center;gap:28px;transition:transform .9s var(--ease),opacity .6s ease}
#aurore-loader .al-logo{width:110px;height:auto;animation:al-breathe 2.8s ease-in-out infinite}
#aurore-loader .al-line{width:min(220px,52vw);height:1px;background:#42638330;overflow:hidden}
#aurore-loader .al-line i{display:block;height:100%;width:100%;background:#315478;transform-origin:left;transform:scaleX(var(--p,0));transition:transform .45s var(--ease)}
#aurore-loader .al-text{margin:0;display:flex;gap:14px;font:10px Mono,monospace;letter-spacing:.14em;text-transform:uppercase;color:#526477}
#aurore-loader .al-pct{min-width:4ch;text-align:right;color:#315478}
#aurore-loader.done{opacity:0;visibility:hidden;pointer-events:none}
#aurore-loader.done .al-inner{transform:translateY(-10px) scale(.98);opacity:0}
body.aurore-loading #loading{display:none}
@keyframes al-breathe{0%,100%{opacity:.62}50%{opacity:1}}
@keyframes al-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){#aurore-loader,#aurore-loader .al-inner{transition:none}#aurore-loader .al-logo{animation:none}}
/* Mobile (27.10.2026) : flèches en texte (pas d'emoji iOS), pas d'indication « souris » au doigt. */
body{font-variant-emoji:text}
@media(hover:none){.gesture{display:none}}
