*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:300 15px/1.7 Arial,sans-serif;background-image:var(--cloud-bg);background-size:100% auto;background-repeat:repeat-y;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}h1{font-size:clamp(40px,5.1vw,80px);letter-spacing:-2.8px;margin:22px 0}h2{font-size:clamp(38px,4.6vw,66px);letter-spacing:-2px;margin:12px 0 30px}h3{font-size:clamp(32px,3.5vw,51px);letter-spacing:-1px;margin:18px 0}em{font-weight:400}.eyebrow{font-size:10px;letter-spacing:2.6px;text-transform:uppercase}.glass{background:linear-gradient(130deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 48%,rgba(255,255,255,.105));border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 #ffffff4d,0 15px 50px #1c0e2c12;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}nav{position:absolute;top:23px;left:50%;transform:translateX(-50%);z-index:40;border-radius:50px;display:flex;align-items:center;justify-content:center;gap:32px;padding:13px 25px;white-space:nowrap;color:#fff7ef}nav a:not(.brand){font-size:9px;text-transform:uppercase;letter-spacing:1.5px}.brand{font:24px Georgia,serif}.brand i{font-size:22px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:15px 24px;border-radius:50px;font-size:12px;transition:background .2s,transform .2s}.button:hover{background-color:#ffffff20;transform:translateY(-2px)}.journey{height:280vh;position:relative}.stage{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}.sky{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform}.shade{position:absolute;inset:0;background:#150b23;opacity:.4;z-index:1;pointer-events:none}.rock{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 49%;pointer-events:none;will-change:transform,opacity}.rock-A{z-index:8}.rock-B{z-index:7}.rock-C{z-index:6}.arch-traverse{z-index:5;object-fit:contain;transform:scale(.7)}.hero{position:absolute;inset:0;z-index:11;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:100px 5% 85px;color:#fff8ef;text-shadow:0 2px 20px #200c2d55}.hero-copy{padding:22px 30px 28px;border-radius:28px;max-width:1170px;background:linear-gradient(130deg,#ffffff0d,#ffffff02);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-color:#ffffff22;box-shadow:none}.hero .intro{font-size:14px;line-height:1.8;max-width:580px;margin:0 auto 25px}.hero .eyebrow{margin-top:0}.cloud-layer{position:absolute;inset:auto -10% -18%;width:120%;height:auto;max-height:90%;object-fit:fill;pointer-events:none;will-change:transform}.cloud-back{z-index:2}.cloud-middle{z-index:9}.cloud-front{z-index:15}.scroll-cue{position:absolute;bottom:23px;left:0;width:100%;text-align:center;z-index:17;color:#fff8ef;font-size:9px;letter-spacing:2.8px;pointer-events:none}.scroll-cue span{display:block;font-size:22px}.content{position:relative;z-index:18;background-image:var(--cloud-bg);background-size:100% auto;background-repeat:repeat-y;padding:80px 5% 0}.section-title{max-width:750px;text-align:center;margin:0 auto 50px;padding:25px;border-radius:24px}.portals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1450px;margin:0 auto 100px}.portal{position:relative;min-height:540px;border-radius:150px 150px 22px 22px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;text-align:center;padding:22px 12px;color:#fff9f2;transition:transform .3s}.portal:hover{transform:translateY(-7px)}.portal-sky{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.portal-arch{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-2}.portal:after{content:'';position:absolute;inset:65% 0 0;z-index:-1;background:linear-gradient(transparent,#21102a60)}.portal-copy{border-radius:17px;padding:17px 10px;backdrop-filter:blur(7px)}.portal h3{font-size:23px;letter-spacing:-.4px;margin:4px 0 12px}.portal p{font-size:10px;line-height:1.6;min-height:30px;margin:0 0 12px}.portal .number{position:absolute;top:28px;left:0;width:100%;font-size:9px;letter-spacing:2px}.portal .button{padding:9px 15px;font-size:10px}.offers{max-width:1100px;margin:auto}.offer{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;margin:0 0 100px}.cover{width:100%;height:auto;display:block;border-radius:18px}.offer-copy{padding:30px;border-radius:25px}.offer p{font-size:14px}.offer.reverse .cover{order:2}.file-title{white-space:nowrap;font-size:clamp(10px,2.7vw,14px)}.universe-offer{max-width:1100px;margin:0 auto 90px}.coming{max-width:660px;margin:0 auto 90px;text-align:center;padding:50px 30px;border-radius:25px}.coming p{font-size:14px}.other-worlds{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding-bottom:70px}.other-worlds a{font-size:11px}.footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-radius:25px 25px 0 0}.footer p{font-size:10px}.flight-plane{position:fixed;inset:0;pointer-events:none;overflow:hidden}.flight-behind{z-index:10}.flight-front{z-index:25}.butterfly{position:absolute;width:var(--size);height:var(--size);will-change:transform;transform-origin:50% 50%;pointer-events:none;filter:drop-shadow(0 0 5px #ffe8ab33)}.butterfly img{width:100%;height:100%;object-fit:contain}.flight-plane canvas{position:absolute;inset:0;width:100%;height:100%}dialog{max-width:420px;border-radius:25px;padding:30px;color:#fff8ef;background-color:#38223e99}dialog::backdrop{background:#21152b66;backdrop-filter:blur(6px)}dialog button{float:right;border-radius:50%;padding:0;width:34px;height:34px}.noscript{padding:50px;background:#58364c;color:white}@media(max-width:1000px){.portal{min-height:470px}.portal h3{font-size:20px}.portals{gap:12px}.offer-copy{padding:24px}}@media(max-width:700px){body,.content{background-size:100% auto}nav{top:16px;gap:20px;padding:13px 18px;width:calc(100% - 28px)}nav a:not(.brand){font-size:8px;letter-spacing:.8px}.brand{font-size:20px}.hero{padding:88px 15px 70px}.hero-copy{padding:20px 13px}.hero .intro{font-size:12px;line-height:1.8}h1{font-size:clamp(32px,8.8vw,46px);letter-spacing:-1.6px;line-height:1.12}.eyebrow{font-size:8px;letter-spacing:1.8px}.hero .button{font-size:11px;padding:15px 18px}.journey{height:235vh}.rock{object-fit:cover}.cloud-layer{width:180%;left:-40%;bottom:-8%}.content{padding:55px 15px 0}.section-title{padding:22px 15px;margin-bottom:30px}h2{font-size:38px}.portals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:65px}.portal{min-height:390px;padding:10px 7px;border-radius:95px 95px 18px 18px}.portal-copy{padding:13px 6px}.portal h3{font-size:18px}.portal .number{font-size:7px;letter-spacing:1px}.portal .button{font-size:9px;padding:8px 10px}.offer{grid-template-columns:1fr;gap:20px;margin-bottom:65px}.cover{max-width:440px;margin:auto}.offer.reverse .cover{order:0}.offer-copy{padding:24px 19px}.offer p{font-size:13px}.footer{flex-direction:column;text-align:center;gap:8px}.other-worlds{padding-bottom:45px}.glass{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-copy{backdrop-filter:blur(2px)}.arch-traverse{object-fit:contain}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey{height:100svh}.rock,.scroll-cue,.flight-plane{display:none}.cloud-layer{transform:none!important}.portal:hover,.button:hover{transform:none}*{transition:none!important}}
/* Fondus aux bords des décors pour éviter une bande rectiligne pendant la traversée. */
.cloud-layer{mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 74%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 74%,transparent 100%)}
.content:before{content:'';position:absolute;left:0;right:0;top:-160px;height:161px;background-image:var(--cloud-bg);background-size:100% auto;mask-image:linear-gradient(transparent,#000);pointer-events:none}
.stage:after{content:'';position:absolute;inset:0;background:#160c20;opacity:var(--entrance-dark,.24);z-index:10;pointer-events:none}
@media(max-width:700px){.rock-A{object-fit:fill}.hero-copy{border-radius:24px}}
body[data-scene="physique"] .content{color:#fff8e9;text-shadow:0 1px 9px #32150890}body[data-scene="physique"] .content .glass{background:linear-gradient(130deg,#ffffff12,#26130814 50%,#ffffff09)}
/* Préserver les proportions de la roche sur les écrans étroits. */
@media(max-width:700px){.rock-A{object-fit:cover}}
/* Chronologie : tunnel rocheux → ciel → arche au loin → lecture. */
.journey{height:500vh}.stage{isolation:auto}.hero{z-index:50;visibility:hidden;opacity:0}.hero-copy{opacity:1;background:linear-gradient(130deg,#ffffff32,#ffffff18);border:1px solid #ffffff99;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 15px 50px #21122c15;text-shadow:none}.hero-copy h1,.hero-copy p,.hero-copy a{opacity:1}.hero .intro{color:inherit}.outside-clouds{position:absolute;inset:0;z-index:12;opacity:0;visibility:hidden;pointer-events:none}.cloud-layer{z-index:auto}.outside-clouds .cloud-back{z-index:1}.outside-clouds .cloud-middle{z-index:2}.outside-clouds .cloud-front{z-index:3}.rock{object-fit:cover;transform-origin:50% 50%;will-change:transform;opacity:1}.rock-A{z-index:8}.rock-B{z-index:7}.rock-C{z-index:6}.arch-scene{position:absolute;width:min(80vw,80vh);height:85vh;left:50%;top:50%;transform-origin:50% 48%;z-index:14;visibility:hidden;pointer-events:none;will-change:transform}.arch-traverse{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%)}.arch-mist{position:absolute;object-fit:contain;width:120%;height:50%;mask-image:radial-gradient(ellipse,#000 30%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse,#000 30%,transparent 72%)}.arch-mist-left{left:-72%;bottom:-2%}.arch-mist-right{right:-72%;bottom:-2%;transform:scaleX(-1)}.arch-mist-foot{width:160%;left:-30%;bottom:-12%;height:45%}.flight-plane{visibility:hidden}.hero{pointer-events:none}.hero-copy{pointer-events:auto}.scroll-cue{z-index:55}.butterfly img{transform-origin:50% 50%;will-change:transform}.stage:after{z-index:9}body[data-scene="physique"] .hero-copy{background:linear-gradient(130deg,#24110c55,#24110c22);text-shadow:0 1px 7px #25100990}.content{z-index:30}.flight-front{z-index:26}.flight-behind{z-index:16}
@media(max-width:700px){.journey{height:440vh}.arch-scene{width:85vw;height:78vh}.hero{padding:85px 18px}.hero-copy{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.rock-A{object-fit:cover}}
@media(prefers-reduced-motion:reduce){.journey{height:100svh}.arch-scene,.rock,.flight-plane{display:none}.outside-clouds{opacity:1;visibility:visible}.hero{opacity:1;visibility:visible}.stage:after{display:none}}

/* Le masque suit les dimensions réelles de l’image, y compris sur mobile. */
.arch-scene{width:min(70vw,57vh);height:auto;aspect-ratio:3/4}
@media(max-width:700px){.rock{object-fit:fill}.arch-scene{width:78vw;height:auto;aspect-ratio:3/4}}
@media(prefers-reduced-motion:reduce){.hero{opacity:1!important;visibility:visible!important;pointer-events:auto!important}}

/* Nouvelles arches 16:9 : nuages et arche partagent le même parent transformé. */
.arch-scene{width:min(140vw,120vh);height:auto;aspect-ratio:1672/941}
.arch-traverse{z-index:1;mask-image:linear-gradient(#000 0%,#000 70%,transparent 96%);-webkit-mask-image:linear-gradient(#000 0%,#000 70%,transparent 96%)}
.arch-mist{z-index:2}.arch-mist-left,.arch-mist-right{bottom:-5%}
.arch-mist-foot{z-index:3;width:180%;height:72%;left:-40%;bottom:-28%;object-fit:fill;mask-image:radial-gradient(ellipse at 50% 50%,#000 38%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 38%,transparent 74%)}
.portal-art{position:absolute;width:100%;aspect-ratio:1672/941;left:0;top:50%;transform:translateY(-50%);z-index:-2}
.portal-art .portal-arch{z-index:0;mask-image:linear-gradient(#000 65%,transparent 98%);-webkit-mask-image:linear-gradient(#000 65%,transparent 98%)}
.portal-foot{position:absolute;z-index:1;width:180%;height:72%;left:-40%;bottom:-28%;object-fit:fill;mask-image:radial-gradient(ellipse,#000 38%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse,#000 38%,transparent 74%)}

.arch-mist{mask-image:radial-gradient(ellipse closest-side,#000 35%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 35%,transparent 100%)}
.arch-traverse,.portal-art .portal-arch{mask-image:linear-gradient(#000 0%,#000 60%,transparent 84%);-webkit-mask-image:linear-gradient(#000 0%,#000 60%,transparent 84%)}
.arch-mist-foot,.portal-foot{width:140%;height:65%;left:-20%;bottom:-15%;object-fit:cover;mask-image:radial-gradient(ellipse closest-side,#000 45%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 45%,transparent 100%)}
.arch-mist-left,.arch-mist-right{object-fit:fill}

/* Invitation visible au premier écran, fondu piloté par les 90 premiers pixels. */
.scroll-cue{left:50%;bottom:max(22px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 32px);transform:translateX(-50%);margin:0;padding:13px 22px 10px;border-radius:26px;color:#fffaf4;background:linear-gradient(135deg,#23132bc9,#35223e99);border:1px solid #fff8ef99;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 #ffffff44,0 6px 26px #09030f55;font-size:16px;font-weight:500;line-height:1.4;letter-spacing:.2px;text-transform:none;text-shadow:0 1px 3px #0008;z-index:55}
.scroll-cue .cue-desktop,.scroll-cue .cue-mobile{font-size:inherit}.scroll-cue .cue-mobile{display:none}.scroll-cue .cue-arrow{font-size:25px;line-height:1.1;margin-top:3px;animation:cue-down 1.5s ease-in-out infinite}
@keyframes cue-down{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
@media(max-width:700px){.scroll-cue{font-size:15px;padding:12px 18px 9px;bottom:max(20px,env(safe-area-inset-bottom))}.scroll-cue .cue-desktop{display:none}.scroll-cue .cue-mobile{display:block}}
@media(prefers-reduced-motion:reduce){.scroll-cue{display:none}.scroll-cue .cue-arrow{animation:none}}

/* Zoom réversible : aucune surface CSS masquée agrandie pour la traversée. */
.arch-scene{display:none!important;transform:none!important;will-change:auto}
.arch-render{position:absolute;inset:0;width:100%;height:100%;z-index:14;pointer-events:none;transform:none;will-change:auto;transition:none}
.rock,.sky,.cloud-layer,.outside-clouds{will-change:auto;transition:none}
@media(prefers-reduced-motion:reduce){.arch-render{display:none}}
/* Programme payant : les trois couvertures */
.cover-trio{position:relative;display:flex;justify-content:center;align-items:flex-end;padding:24px 0 8px}.cover-trio img{width:34%;max-width:200px;height:auto;border-radius:10px;box-shadow:0 18px 40px #2a142e55}.cover-trio img:nth-child(1){transform:rotate(-7deg) translate(16%,4%);z-index:1}.cover-trio img:nth-child(2){width:40%;max-width:240px;transform:translateY(-6%);z-index:2}.cover-trio img:nth-child(3){transform:rotate(7deg) translate(-16%,4%);z-index:1}
