/* Scoped component. The host can override --lps-scene-height. */
.lps-scene {
  position:relative; isolation:isolate; box-sizing:border-box; width:100%;
  min-height:var(--lps-scene-height,100svh); overflow:hidden;
  display:grid; grid-template-columns:minmax(0,1fr); align-content:center;
  padding:48px 26px 58px; background:#08090d; color:#f4f3f6;
  font-family:Inter,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; color-scheme:dark;
}
.lps-scene *, .lps-scene *::before, .lps-scene *::after { box-sizing:border-box; }
.lps-scene__content { position:relative; z-index:2; }
.lps-scene h1 { margin:0; font-size:clamp(32px,8.6vw,58px); font-weight:430; line-height:1.12; letter-spacing:-.047em; text-wrap:balance; }
.lps-scene h1 span { display:block; }
.lps-scene__content p { max-width:470px; margin:22px 0 0; color:#a9a9b3; font-size:15px; font-weight:400; line-height:1.85; text-wrap:pretty; }
.lps-scene__mission { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:49px; padding:0 21px; margin-top:28px; border:1px solid #797a84; border-radius:3px; color:#eeedf2; background:#11121730; font-size:11px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; text-decoration:none; transition:border-color .25s,background .25s,box-shadow .25s; }
.lps-scene__mission svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.2; transition:transform .25s; }
.lps-scene__mission:hover { background:#192127; border-color:#b6eeee; box-shadow:0 0 25px #39dadd0c; }
.lps-scene__mission:hover svg { transform:translateX(3px); }
.lps-scene :focus-visible { outline:2px solid #67edf4; outline-offset:6px; }
.lps-scene__world { position:absolute; inset:0; margin:0; overflow:hidden; pointer-events:none; }
.lps-scene__placement { position:relative; margin:-8px -26px -12px; height:clamp(280px,88vw,440px); order:1; pointer-events:none; }
.lps-scene__world canvas { display:block; position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity .9s ease; }
.lps-scene__world.is-loaded canvas { opacity:1; }
.lps-scene__fallback { position:absolute; left:50%; top:50%; width:min(80%,410px); height:auto; transform:translate(-50%,-50%); opacity:.78; transition:opacity .6s; }
.lps-scene__world.is-loaded .lps-scene__fallback { opacity:0; }
.lps-scene__motion { position:absolute; right:22px; bottom:18px; z-index:3; display:grid; place-items:center; width:36px; height:36px; border:1px solid #ffffff16; border-radius:50%; background:#08090d70; color:#a6a8b1; font:14px/1 Arial,sans-serif; cursor:pointer; }
.lps-scene__motion:hover { color:white; border-color:#ffffff50; }
@media (min-width:761px) {
  .lps-scene { padding:70px max(48px, calc((100% - 1240px) / 2)); }
  .lps-scene__content { width:56%; max-width:770px; transform:translateX(var(--lps-composition-offset,0px)); }
  .lps-scene h1 { font-size:clamp(43px,4.55vw,76px); line-height:1.13; font-weight:420; }
  .lps-scene__content p { max-width:470px; font-size:clamp(15px,1.12vw,18px); margin-top:28px; }
  .lps-scene__mission { margin-top:32px; min-height:50px; }
  .lps-scene__placement { position:absolute; right:max(0px, calc((100% - 1320px) / 2)); top:0; margin:0; width:min(62%,900px); height:100%; transform:translateX(var(--lps-composition-offset,0px)); }
  .lps-scene__motion { right:32px; bottom:28px; }
}
@media (min-width:761px) and (max-width:1000px) {
  .lps-scene { padding-left:42px; padding-right:42px; }
  .lps-scene__content { width:58%; }
  .lps-scene__content p { max-width:300px; }
}
@media (prefers-reduced-motion:reduce) { .lps-scene *, .lps-scene *::before, .lps-scene *::after { transition:none!important; } }

/* Adaptation de la scène au shell La Pop-Sphere ; la composition fournie reste l'autorité. */
#visual-main:has(>#__next>.lps-scene){padding-top:calc(var(--shell-offset) + var(--flash-news-height,38px))}
.lps-scene{--lps-scene-height:calc(100dvh - var(--shell-offset) - var(--flash-news-height,38px));height:var(--lps-scene-height);min-height:0;font-family:var(--font-sans),Inter,"Segoe UI",Arial,sans-serif}
body .lps-scene h1{font-weight:430;letter-spacing:-.047em!important;text-transform:none;text-shadow:none}
body .lps-scene__mission{letter-spacing:.13em!important}
.lps-scene__fallback{left:74%;top:46.5%;width:min(44%,720px)}
/* Le sol s'efface progressivement ; le bord révèle la matière réelle de la page. */
.lps-scene::after{content:"";position:absolute;inset:auto 0 0;height:clamp(140px,30dvh,280px);z-index:1;pointer-events:none;background:linear-gradient(180deg,#0a0a0c00 0%,#0a0a0c0a 16%,#0a0a0c38 38%,#0a0a0c8f 62%,#0a0a0cde 83%,#0a0a0c 100%)}
body.lps-velours .lps-scene{--lps-scene-edge-fade:clamp(32px,6dvh,60px);-webkit-mask-image:linear-gradient(to top,transparent 0%,#0000005c calc(var(--lps-scene-edge-fade)*.33),#000000d6 calc(var(--lps-scene-edge-fade)*.66),#000 var(--lps-scene-edge-fade),#000 100%);mask-image:linear-gradient(to top,transparent 0%,#0000005c calc(var(--lps-scene-edge-fade)*.33),#000000d6 calc(var(--lps-scene-edge-fade)*.66),#000 var(--lps-scene-edge-fade),#000 100%)}
#visual-main:has(>#__next>.lps-scene) .home-os{background:#0a0a0c;overflow:visible}
#visual-main:has(>#__next>.lps-scene) .home-os::before{content:"";position:absolute;inset:-150px 0 auto;height:340px;z-index:0;pointer-events:none;background:radial-gradient(ellipse 36% 48% at 65% 44%,#23d9e50b,transparent 100%),radial-gradient(ellipse 30% 45% at 38% 47%,#b641d809,transparent 100%)}
#visual-main:has(>#__next>.lps-scene) .home-os__handshake{border-bottom:0}
#visual-main:has(>#__next>.lps-scene) .home-os__handshake-lip{display:none}
@media(min-width:761px){
 .lps-scene{padding-block:clamp(16px,6dvh,70px)}
 body .lps-scene h1{font-weight:420;font-size:clamp(32px,min(4.55vw,8.8dvh),76px);text-shadow:0 2px 18px #08090d,0 0 4px #08090d}
 .lps-scene__content p{margin-top:clamp(12px,3dvh,28px);font-size:clamp(13px,min(1.12vw,2.2dvh),18px)}
 .lps-scene__mission{margin-top:clamp(14px,3.5dvh,32px)}
}
@media(max-width:760px){
 .lps-scene::after{height:clamp(100px,19dvh,170px)}
 #visual-main:has(>#__next>.lps-scene) .home-os::before{top:-84px;height:240px;background:radial-gradient(ellipse 65% 45% at 58% 36%,#23d9e50b,transparent 100%),radial-gradient(ellipse 55% 42% at 38% 42%,#b641d809,transparent 100%)}
 .lps-scene{padding-block:clamp(12px,3dvh,26px);grid-template-rows:auto minmax(0,1fr);align-content:stretch}
 .lps-scene__placement{height:auto;min-height:0;max-height:440px;margin-block:0}
 .lps-scene__fallback{left:50%;top:73%;width:min(72%,330px)}
}
@media(max-width:760px) and (max-height:740px){
 body .lps-scene h1{font-size:clamp(24px,7.7vw,34px)}
 .lps-scene__content p{font-size:13px;line-height:1.65;margin-top:14px}
 .lps-scene__mission{margin-top:16px;min-height:44px}
}
@media(max-width:760px) and (max-height:540px) and (min-width:520px){
 .lps-scene{grid-template-columns:58% minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center;column-gap:12px}
 .lps-scene__placement{height:100%;margin:0}
 body .lps-scene h1{font-size:clamp(22px,5dvh,28px)}
 .lps-scene__content p{font-size:12px;line-height:1.5;margin-top:10px}
 .lps-scene__mission{margin-top:12px;min-height:40px}
}
/* Lien de mission : discret, sans cadre, repère rouge au survol et au clavier. */
body .lps-scene__mission{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:fit-content;max-width:100%;height:auto;min-height:44px;padding:0;gap:14px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#eeedf2;font-size:16px;font-weight:500;line-height:1.4;text-transform:none;letter-spacing:0!important;transition:color .25s}
body .lps-scene__mission span{letter-spacing:0!important}
.lps-mission-label{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:7px;transition:text-decoration-color .25s}
.lps-mission-arrow{font-size:22px;line-height:1}
body .lps-scene__mission:is(:hover,:focus-visible){color:#fff;background:transparent;border:0;box-shadow:none;outline:none!important}
.lps-scene__mission:is(:hover,:focus-visible) .lps-mission-label{text-decoration-color:#ff2851}
@media(max-width:760px){body .lps-scene__mission{font-size:14px;gap:12px}.lps-mission-arrow{font-size:20px}}
/* Typographie éditoriale commune aux headers d'accueil et À propos. */
body .lps-scene h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,min(5.5vw,8.5dvh),64px);line-height:1.06;letter-spacing:-.035em!important}
body .lps-scene h1 em{font-style:normal;background:linear-gradient(110deg,#45dbf1 8%,#b8a2fd 52%,#f381df 96%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none}
.lps-scene__content p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,min(1.75vw,2.5dvh),20px);line-height:1.65;color:#cbd0cc}
/* À propos reprend la composition sans modifier les sections éditoriales. */
.lps-scene--neutral .lps-scene__fallback{filter:grayscale(1)}
.lps-scene--neutral::after{background:linear-gradient(180deg,#070a1400 0%,#070a1426 28%,#070a1499 66%,#070a14 100%)}
.lps-scene--resource{height:auto;min-height:var(--lps-scene-height)}
.lps-scene--resource .lps-scene__content p+p{margin-top:16px}
@media(max-width:760px){.lps-scene--resource{grid-template-rows:auto minmax(180px,1fr)}.lps-scene--resource .lps-scene__placement{min-height:180px}}
#lps-about>.aps-page{padding-top:64px}
@media(max-width:760px){#lps-about>.aps-page{padding-top:40px}body .lps-scene h1{font-size:clamp(30px,9.7vw,46px)}.lps-scene__content p{font-size:17px}}
@media(max-width:760px) and (max-height:740px){body .lps-scene h1{font-size:clamp(26px,8.7vw,38px)}.lps-scene__content p{font-size:15px}}
@media(max-width:760px) and (max-height:540px) and (min-width:520px){body .lps-scene h1{font-size:clamp(22px,5dvh,28px)}.lps-scene__content p{font-size:12px;line-height:1.5}}
