/* Système cinématique partagé — pages publiques, flux de compte et mentions. */
:root { --sub-night:#05070d; --sub-panel:rgba(11,14,26,.72); --sub-line:rgba(255,255,255,.09); --sub-ease:cubic-bezier(.22,.76,.24,1); }
body.cinematic-subpage,body.cinematic-auth,body.cinematic-legal { min-height:100vh; background:#05070d; overflow-x:clip; isolation:isolate; }
body.cinematic-subpage::before,body.cinematic-auth::before,body.cinematic-legal::before { content:''; position:fixed; inset:0; z-index:-3; pointer-events:none; background:linear-gradient(180deg,rgba(5,7,13,.28),#05070d 88%),url('/assets/brand/cosmos-master.webp') center top/cover no-repeat; opacity:.62; }
body.cinematic-subpage::after,body.cinematic-auth::after,body.cinematic-legal::after { content:''; position:fixed; inset:0; z-index:-2; pointer-events:none; background:radial-gradient(circle at 18% 24%,rgba(99,102,241,.13),transparent 28%),radial-gradient(circle at 82% 68%,rgba(34,211,238,.08),transparent 30%),linear-gradient(90deg,rgba(5,7,13,.65),transparent 45%,rgba(5,7,13,.58)); }
.cinematic-subpage .cosmos-canvas,.cinematic-subpage>.bg-halos,.cinematic-auth>.bg-halos,.cinematic-legal>.bg-halos { display:none; }
.cinematic-subpage .container { max-width:1180px; }
.wide-container { width:min(100% - 48px,1380px); margin-inline:auto; }

/* Navigation commune : même verre calme que l'accueil. */
.cinematic-subpage .site-header { position:fixed; inset:0 0 auto; width:100%; z-index:50; background:linear-gradient(180deg,rgba(5,7,13,.82),rgba(5,7,13,.46)); border:0; backdrop-filter:blur(14px); transition:background .3s,border-color .3s; }
.cinematic-subpage .site-header.is-scrolled { background:rgba(5,7,13,.82); border-bottom:1px solid rgba(255,255,255,.07); }
.cinematic-subpage .site-header::after { display:none; }
.cinematic-subpage .header-inner { padding-block:14px; }
.cinematic-subpage .header-cta { color:#f8f8fc; font-size:13px; font-weight:700; padding:9px 16px; border:1px solid rgba(255,255,255,.15); border-radius:999px; transition:background .2s,border-color .2s; }
.cinematic-subpage .header-cta:hover { background:rgba(255,255,255,.08); border-color:rgba(34,211,238,.42); }

/* Entrée de page : respiration et signal lumineux plutôt qu'une simple bannière. */
.cinematic-subpage .page-hero { min-height:720px; display:grid; place-content:center; text-align:center; padding:170px 20px 120px!important; position:relative; isolation:isolate; }
.cinematic-subpage .page-hero::after { content:''; position:absolute; z-index:-1; left:50%; top:49%; width:min(92vw,1050px); height:520px; transform:translate(-50%,-50%); background:radial-gradient(ellipse,rgba(99,102,241,.18),rgba(34,211,238,.06) 38%,transparent 70%); filter:blur(22px); }
.cinematic-subpage .page-hero::before { content:''; position:absolute; left:50%; top:50%; width:min(78vw,760px); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(99,102,241,.14); border-radius:50%; box-shadow:0 0 100px rgba(99,102,241,.06),inset 0 0 100px rgba(34,211,238,.03); pointer-events:none; }
.cinematic-subpage .page-hero .kicker { position:relative; font-size:11px; letter-spacing:.2em; color:#b0b5c9; }
.cinematic-subpage .page-hero .kicker::before { content:''; display:inline-block; width:28px; height:1px; margin:0 10px 3px 0; background:linear-gradient(90deg,#6366f1,#22d3ee); box-shadow:0 0 10px #22d3ee; }
.cinematic-subpage .page-hero h1 { position:relative; margin-top:18px; font-size:clamp(52px,7vw,92px)!important; line-height:.96; letter-spacing:-.055em; }
.cinematic-subpage .page-hero p { position:relative; max-width:650px; margin:24px auto 0; color:#a9aec0!important; font-size:clamp(16px,1.5vw,19px)!important; line-height:1.7!important; }

/* Fonctionnalités : grands chapitres, moins de cartes. */
.features-page main.container { max-width:1240px; }
.features-page .show { min-height:520px; gap:clamp(38px,7vw,100px)!important; margin-bottom:1px!important; padding:75px clamp(24px,5vw,72px)!important; background:linear-gradient(105deg,rgba(12,15,27,.88),rgba(8,10,18,.58)); border:1px solid var(--sub-line); border-radius:0!important; overflow:hidden; position:relative; }
.features-page .show:first-of-type { border-radius:28px 28px 0 0!important; }
.features-page .show:nth-last-of-type(2) { border-radius:0 0 28px 28px!important; }
.features-page .show::after { content:''; position:absolute; width:280px; height:280px; border-radius:50%; background:rgba(99,102,241,.1); filter:blur(85px); right:-80px; top:-100px; pointer-events:none; }
.features-page .show.flip::after { right:auto; left:-80px; background:rgba(34,211,238,.07); }
.features-page .show .viz { transform:perspective(1000px) rotateY(5deg); filter:drop-shadow(0 35px 60px rgba(0,0,0,.45)); }
.features-page .show.flip .viz { transform:perspective(1000px) rotateY(-5deg); }
.features-page .show h2 { font-size:clamp(30px,4vw,48px)!important; letter-spacing:-.035em; }
.features-page .show h2 .ico { display:none; }
.features-page .show p { color:#a4a9bb!important; font-size:16px!important; line-height:1.75!important; }
.features-page .chips { gap:8px!important; }
.features-page .chip { padding:8px 12px!important; color:#c6cad8!important; background:rgba(5,7,13,.62)!important; border-color:rgba(255,255,255,.1)!important; }
.features-page .show .viz { background:radial-gradient(circle at 70% 35%,rgba(99,102,241,.2),transparent 38%),#090c16; }
.features-page .show:nth-of-type(n+2):nth-of-type(-n+5) .viz>div { backdrop-filter:blur(8px); }

/* Téléchargement : appareils en vitrines profondes, états toujours honnêtes. */
.download-page .dl-grid { gap:1px!important; margin-top:0!important; border:1px solid var(--sub-line); border-radius:28px; overflow:hidden; background:var(--sub-line); }
.download-page .dl-card { min-height:410px; border:0!important; border-radius:0!important; background:linear-gradient(160deg,rgba(18,21,36,.9),rgba(7,9,16,.94))!important; backdrop-filter:none!important; padding:42px 34px!important; position:relative; overflow:hidden; transition:transform .35s var(--sub-ease),background .35s!important; }
.download-page .dl-card::before { content:''; position:absolute; width:230px; height:230px; border:1px solid rgba(99,102,241,.18); border-radius:50%; right:-90px; bottom:-95px; box-shadow:0 0 80px rgba(99,102,241,.08); }
.download-page .dl-card:hover { transform:none!important; background:linear-gradient(160deg,rgba(23,26,45,.96),rgba(9,11,19,.96))!important; }
.download-page .dl-card svg { width:48px!important; height:48px!important; color:#dfe2ed; }
.download-page .dl-card h2 { margin-top:54px!important; font-size:29px!important; }
.download-page .dl-card p { color:#969caf!important; line-height:1.7!important; }
.download-page .status { border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035)!important; }
.download-page section.block { padding-top:120px; }
.download-page .steps { gap:1px; background:var(--sub-line); border:1px solid var(--sub-line); border-radius:24px; overflow:hidden; }
.download-page .step { min-height:260px; border:0; border-radius:0; background:rgba(7,9,16,.92); }

/* FAQ : accordéon large et éditorial. */
.faq-page .faq-list { max-width:900px!important; margin:0 auto!important; border-block:1px solid var(--sub-line); }
.faq-page .faq { border:0!important; border-bottom:1px solid var(--sub-line)!important; border-radius:0!important; background:rgba(7,9,16,.5)!important; backdrop-filter:none!important; }
.faq-page .faq:last-child { border-bottom:0!important; }
.faq-page .faq summary { min-height:96px; padding:28px 8px!important; font-size:clamp(17px,2vw,21px)!important; }
.faq-page .faq summary .pl { order:2; margin-left:auto; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:50%; color:#22d3ee; transition:transform .25s var(--sub-ease); }
.faq-page .faq[open] summary .pl { transform:rotate(45deg); }
.faq-page .faq .ans { padding:0 62px 32px 8px!important; color:#9fa5b8!important; font-size:16px!important; line-height:1.75!important; }
.faq-page .faq[open] { background:linear-gradient(90deg,rgba(99,102,241,.09),rgba(7,9,16,.58))!important; }

/* Fonctionnalités v2 : récit plein écran, vrais visuels et continuité de l'accueil. */
.features-story-page main { overflow:hidden; }
.feature-page-hero { position:relative; min-height:100svh; display:grid; grid-template-columns:minmax(320px,.82fr) minmax(470px,1.18fr); align-items:center; gap:clamp(30px,6vw,100px); padding:130px max(5vw,32px) 80px; isolation:isolate; }
.feature-page-hero::before { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(5,7,13,.95),rgba(5,7,13,.38),rgba(5,7,13,.72)),url('/assets/brand/cosmos-master.webp') center/cover; }
.feature-page-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 62%,#05070d); }
.feature-hero-copy { max-width:650px; }
.feature-eyebrow,.feature-story-copy>span { color:#22d3ee; font-size:11px; font-weight:750; letter-spacing:.18em; text-transform:uppercase; }
.feature-hero-copy h1 { margin-top:20px; font-size:clamp(55px,6.6vw,108px); line-height:.94; letter-spacing:-.055em; }
.feature-hero-copy>p:not(.feature-eyebrow) { max-width:600px; margin-top:26px; color:#b0b5c7; font-size:clamp(16px,1.5vw,20px); line-height:1.7; }
.feature-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:34px; }
.feature-text-link { color:#eef0f8; font-size:14px; font-weight:650; }
.feature-hero-device { position:relative; display:grid; place-items:center; min-height:720px; perspective:1500px; }
.feature-screen { position:relative; z-index:2; width:min(34vw,390px); aspect-ratio:1080/2400; padding:7px; border-radius:42px; overflow:hidden; background:#11131a; border:1px solid rgba(255,255,255,.2); box-shadow:0 65px 130px rgba(0,0,0,.72),0 0 85px rgba(99,102,241,.25); transform:rotateY(-8deg) rotateZ(1deg); }
.feature-screen img { width:100%; height:100%; object-fit:contain; border-radius:34px; }
.feature-orbit { position:absolute; border:1px solid rgba(99,102,241,.23); border-radius:50%; transform:rotate(-18deg); }
.feature-orbit.orbit-one { width:76%; aspect-ratio:1; }.feature-orbit.orbit-two { width:105%; aspect-ratio:1; border-color:rgba(34,211,238,.12); }
.feature-story-list { width:min(100% - 48px,1380px); margin:auto; border-top:1px solid rgba(255,255,255,.08); }
.feature-story-row { min-height:830px; display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:clamp(45px,8vw,130px); padding:110px clamp(12px,4vw,62px); border-bottom:1px solid rgba(255,255,255,.08); }
.feature-story-row.reverse { grid-template-columns:1.18fr .82fr; }.feature-story-row.reverse .feature-story-copy { order:2; }.feature-story-row.reverse .feature-story-visual,.feature-story-row.reverse .feature-constellation { order:1; }
.feature-story-copy { max-width:580px; }
.feature-story-copy h2 { margin-top:15px; font-size:clamp(43px,5vw,75px); line-height:.98; letter-spacing:-.045em; }
.feature-story-copy>p { margin-top:22px; color:#a8adbf; font-size:17px; line-height:1.75; }
.feature-story-copy ul { display:flex; flex-wrap:wrap; gap:9px; list-style:none; margin-top:27px; }.feature-story-copy li { padding:8px 12px; border:1px solid rgba(255,255,255,.11); border-radius:999px; color:#c7cbd9; font-size:12px; background:rgba(8,10,18,.66); }
.feature-story-visual { position:relative; width:min(100%,430px); margin:auto; aspect-ratio:1080/2400; border-radius:38px; overflow:hidden; background:#0b0e1a; border:1px solid rgba(255,255,255,.16); box-shadow:0 55px 110px rgba(0,0,0,.62),0 0 70px rgba(99,102,241,.13); }
.feature-story-visual.landscape { aspect-ratio:2576/1425; width:min(100%,720px); border-radius:28px; }.feature-story-visual img { width:100%; height:100%; object-fit:contain; object-position:center; }.feature-story-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(125deg,rgba(255,255,255,.1),transparent 22% 75%,rgba(34,211,238,.05)); pointer-events:none; }.feature-story-visual figcaption { position:absolute; z-index:2; left:18px; bottom:17px; padding:7px 11px; border-radius:999px; color:#c1c6d7; font-size:10px; letter-spacing:.1em; text-transform:uppercase; background:rgba(5,7,13,.78); border:1px solid rgba(255,255,255,.11); }
.feature-constellation { position:relative; min-height:580px; display:grid; place-items:center; }.constellation-tv { width:min(100%,680px); aspect-ratio:16/9; padding:8px; border-radius:24px; background:#11131a; box-shadow:0 50px 100px rgba(0,0,0,.65); }.constellation-tv img,.constellation-phone img { width:100%; height:100%; object-fit:contain; border-radius:17px; }.constellation-phone { position:absolute; right:2%; bottom:30px; width:150px; aspect-ratio:1080/2400; padding:5px; border-radius:25px; background:#11131a; box-shadow:0 35px 75px rgba(0,0,0,.7); }.constellation-phone img { border-radius:20px; }.feature-constellation>span { position:absolute; width:70%; height:1px; background:linear-gradient(90deg,transparent,#22d3ee,transparent); opacity:.3; transform:rotate(-16deg); }.feature-constellation>p { position:absolute; bottom:-5px; color:#7e8498; font-size:12px; letter-spacing:.1em; }
.feature-arsenal { padding:140px 0; background:linear-gradient(180deg,#05070d,#080b14,#05070d); }
.feature-arsenal h2 { max-width:900px; margin-top:16px; font-size:clamp(44px,5vw,78px); line-height:.98; letter-spacing:-.045em; }
.arsenal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:70px; border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.09); }
.arsenal-grid article { min-height:285px; padding:34px; background:#080a11; }
.arsenal-grid article>span { color:#22d3ee; font-size:11px; letter-spacing:.15em; }
.arsenal-grid h3 { margin-top:62px; font-size:22px; }
.arsenal-grid p { margin-top:13px; color:#9096aa; font-size:14px; line-height:1.7; }
.feature-final { position:relative; min-height:850px; display:grid; place-items:center; text-align:center; padding:120px 24px; overflow:hidden; }.feature-final::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#05070d,rgba(5,7,13,.42),#05070d),url('/assets/brand/cosmos-master.webp') center/cover; opacity:.72; }.feature-final>img { position:absolute; width:min(58vw,620px); opacity:.1; }.feature-final>div { position:relative; max-width:800px; }.feature-final h2 { margin-top:16px; font-size:clamp(48px,6vw,90px); line-height:.96; letter-spacing:-.05em; }.feature-final div>p:not(.feature-eyebrow) { max-width:620px; margin:25px auto 32px; color:#a8adbf; font-size:17px; line-height:1.7; }

.cinematic-subpage .final-cta { margin-top:100px!important; padding:80px 32px; background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(34,211,238,.06)); border-color:rgba(255,255,255,.1); }
.cinematic-subpage .site-footer { margin-top:90px; }

/* Flux de compte : mêmes fonctions, mise en scène plus rassurante et lisible. */
.cinematic-auth { display:grid!important; place-items:center; padding:42px 20px!important; }
.cinematic-auth .wrap { width:min(100%,570px)!important; max-width:none!important; margin:0!important; padding:0!important; position:relative; }
.cinematic-auth .wrap::before { content:''; position:absolute; left:50%; top:42%; width:650px; max-width:110vw; aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(99,102,241,.15); border-radius:50%; box-shadow:0 0 110px rgba(99,102,241,.08); pointer-events:none; }
.cinematic-auth .card { position:relative; padding:clamp(32px,7vw,62px)!important; border-radius:28px!important; background:linear-gradient(145deg,rgba(18,21,37,.82),rgba(7,9,16,.9))!important; border:1px solid rgba(255,255,255,.12)!important; box-shadow:0 50px 130px rgba(0,0,0,.62),0 0 80px rgba(99,102,241,.09); backdrop-filter:blur(28px)!important; }
.cinematic-auth .card::before { content:''; display:block; width:52px; height:52px; margin:0 auto 26px; background:url('/favicon-192.png?v=20260826a') center/cover; border-radius:14px; box-shadow:0 0 26px rgba(99,102,241,.36); }
.cinematic-auth h1 { font-size:clamp(30px,7vw,43px)!important; letter-spacing:-.035em; text-align:center; }
.cinematic-auth .sub { margin-top:12px!important; color:#9da3b6!important; line-height:1.65!important; text-align:center; }
.cinematic-auth label { margin-top:22px; }
.cinematic-auth input { min-height:50px; background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.11); }
.cinematic-auth input:focus { border-color:#22d3ee; box-shadow:0 0 0 3px rgba(34,211,238,.09); }
.cinematic-auth .btn { width:100%; min-height:50px; }
.cinematic-auth .msg { line-height:1.65; }
.pair-page .code { margin:30px 0!important; padding:18px; font-size:clamp(38px,10vw,64px)!important; letter-spacing:.16em!important; background-color:rgba(5,7,13,.72); border:1px solid rgba(255,255,255,.09); border-radius:18px; }
.pair-page ol.steps { margin-top:24px!important; }
.pair-page ol.steps li { padding:13px 0!important; border-bottom:1px solid rgba(255,255,255,.07); }
.pair-page ol.steps li:last-child { border-bottom:0; }
.pair-page .n { background:rgba(99,102,241,.16)!important; border:1px solid rgba(99,102,241,.3); }
.pair-page .hint { border-top-color:rgba(255,255,255,.08)!important; }

/* Pages légales : document premium mais volontairement sobre. */
.cinematic-legal .legal-page { max-width:920px; padding:0 32px 100px; }
.cinematic-legal .legal-page header { position:sticky; top:0; z-index:5; margin-inline:-32px; padding:18px 32px; background:rgba(5,7,13,.78); border-bottom:1px solid rgba(255,255,255,.07); backdrop-filter:blur(20px); }
.cinematic-legal .legal-page .back { margin-top:70px; text-decoration:none; color:#9da3b7; }
.cinematic-legal .legal-page h1 { margin-top:25px; max-width:760px; font-size:clamp(42px,7vw,70px); line-height:1; letter-spacing:-.045em; }
.cinematic-legal .legal-page .updated { margin-top:16px; padding-bottom:36px; border-bottom:1px solid var(--sub-line); }
.cinematic-legal .legal-page h2 { margin-top:48px; font-size:23px; color:#f4f4fa; }
.cinematic-legal .legal-page p,.cinematic-legal .legal-page li { color:#b4b8c7; font-size:16px; line-height:1.82; }
.cinematic-legal .legal-page footer { margin-top:80px; padding-top:28px; }

@media(max-width:800px){
  .wide-container { width:min(100% - 28px,1380px); }
  .cinematic-subpage .header-cta { display:none; }
  .cinematic-subpage .page-hero { min-height:460px; padding:100px 10px 75px!important; }
  .features-page .show,.features-page .show.flip { min-height:auto; padding:48px 22px!important; border-radius:0!important; }
  .features-page .show .viz,.features-page .show.flip .viz { transform:none; }
  .download-page .dl-grid { grid-template-columns:1fr!important; }
  .download-page .dl-card { min-height:320px; }
  .cinematic-auth .card { border-radius:22px!important; }
  .feature-page-hero { min-height:auto; grid-template-columns:1fr; padding:125px 20px 90px; text-align:center; }.feature-hero-copy { margin:auto; }.feature-hero-actions { justify-content:center; }.feature-hero-device { min-height:570px; }.feature-screen { width:min(72vw,330px); transform:none; }
  .feature-story-list { width:min(100% - 28px,1380px); }.feature-story-row,.feature-story-row.reverse { min-height:auto; grid-template-columns:1fr; gap:55px; padding:90px 10px; text-align:center; }.feature-story-row.reverse .feature-story-copy { order:1; }.feature-story-row.reverse .feature-story-visual,.feature-story-row.reverse .feature-constellation { order:2; }.feature-story-copy { margin:auto; }.feature-story-copy ul { justify-content:center; }.feature-story-visual { width:min(82vw,420px); }.feature-story-visual.landscape { width:100%; }.feature-constellation { min-height:450px; }.constellation-phone { width:105px; }
  .arsenal-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:540px){
  .cinematic-subpage .header-inner { width:calc(100% - 32px); }
  body.cinematic-subpage, .cinematic-subpage main.container { width:100%; max-width:100vw; }
  .cinematic-subpage .page-hero { width:100%; max-width:100%; overflow:hidden; padding-inline:14px!important; }
  .cinematic-subpage .page-hero h1 { width:100%; max-width:100%; font-size:clamp(31px,9.5vw,42px)!important; letter-spacing:-.04em; overflow-wrap:anywhere; }
  .cinematic-subpage .page-hero p { width:100%; max-width:330px; }
  .features-page .show { gap:28px!important; }
  .feature-arsenal { padding:100px 0; }.feature-arsenal h2 { font-size:40px; }.arsenal-grid { grid-template-columns:1fr; margin-top:45px; }.arsenal-grid article { min-height:230px; }.arsenal-grid h3 { margin-top:38px; }
  .faq-page .faq summary { min-height:82px; padding:24px 2px!important; }
  .faq-page .faq .ans { padding:0 45px 26px 2px!important; }
  .cinematic-legal .legal-page { padding-inline:20px; }
  .cinematic-legal .legal-page header { margin-inline:-20px; padding-inline:20px; }
  .cinematic-legal .legal-page h1 { font-size:42px; }
}
@media(prefers-reduced-motion:reduce){
  .cinematic-subpage *,.cinematic-auth *,.cinematic-legal * { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
  .cinematic-subpage .reveal { opacity:1!important; transform:none!important; }
}
