/* Accueil : bande-annonce d'ouverture, puis vitrine en mosaïque (bento) des sept univers. */

/* ---------- héros ---------- */
.heros{position:relative;min-height:clamp(520px,74vh,760px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--ligne-douce)}
.heros-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-2;background:radial-gradient(ellipse at 60% 80%,#1d2654,#0a0e1c 70%)}
.heros-voile{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(10,14,28,.92) 0%,rgba(10,14,28,.55) 45%,rgba(10,14,28,0) 75%),
  linear-gradient(0deg,var(--nuit) 0%,rgba(10,14,28,0) 35%)}
.heros-in{padding-block:96px 64px;width:100%}
.heros-in>*{max-width:640px}
.heros .mc-h1{margin-top:16px;text-shadow:0 4px 40px rgba(0,0,0,.5)}
.heros .mc-h1 span{display:inline-block}
.heros-lead{margin-top:20px}
.heros-actions{margin-top:30px}
.heros-ref{margin-top:34px;opacity:.85;max-width:52ch;line-height:1.6}
@media (prefers-reduced-motion:no-preference){
  .heros .mc-h1 span{animation:monte .9s cubic-bezier(.2,.7,.2,1) both}
  .heros .mc-h1 span:nth-child(2){animation-delay:.12s}.heros .mc-h1 span:nth-child(3){animation-delay:.24s}
  .heros-lead,.heros-actions,.heros-ref{animation:monte 1s .35s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes monte{from{transform:translateY(18px);opacity:.001}to{transform:none;opacity:1}}
@media (max-width:700px){.heros-voile{background:linear-gradient(0deg,var(--nuit) 10%,rgba(10,14,28,.65) 60%,rgba(10,14,28,.25))}.heros-in{padding-block:180px 40px}}

/* ---------- reprendre ---------- */
.reprendre{margin-top:-34px;position:relative;z-index:2}
.reprendre-in{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;backdrop-filter:blur(10px)}
.reprendre-qui{display:flex;align-items:center;gap:14px;min-width:0}
.reprendre-avatar{width:52px;height:52px;font-size:1.3rem}
.reprendre-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.reprendre-stats div{border-left:1px solid var(--ligne-douce);padding-left:14px}
.reprendre-stats dt{font-size:.74rem;color:var(--doux);font-weight:600}
.reprendre-stats dd{margin:2px 0 0;font-family:var(--f-titre);font-size:1.7rem;font-weight:700;color:var(--or-clair)}
@media (max-width:900px){.reprendre-in{grid-template-columns:1fr}.reprendre-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- bento ---------- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(290px,auto);gap:16px}
.tuile{position:relative;display:flex;align-items:flex-end;border-radius:var(--r-xl);overflow:hidden;text-decoration:none;color:var(--texte);border:1px solid var(--ligne-douce);background:var(--nuit-2);isolation:isolate;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;min-width:0}
.tuile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,14,28,.97) 0%,rgba(10,14,28,.88) 38%,rgba(10,14,28,.35) 62%,rgba(10,14,28,0) 85%)}
.tuile:hover,.tuile:focus-visible{transform:translateY(-6px);box-shadow:0 30px 70px -30px var(--accent,#000),0 0 0 1px var(--accent);border-color:transparent}
.tuile-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.tuile-in{padding:24px;display:grid;gap:8px;max-width:520px}
.tuile-in p{color:var(--doux);font-size:.95rem}
.tuile .mc-puce{justify-self:start;background:rgba(10,14,28,.6);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
.tuile-stat{font-size:.8rem;font-weight:700;color:var(--or-clair);min-height:1.2em}
.tuile-jouer{grid-column:span 2;grid-row:span 2;--accent:var(--saphir)}
.tuile-jouer .tuile-in{padding:32px}
.tuile-cerveau{--accent:var(--amethyste)}
.tuile-batisseurs{--accent:var(--braise)}
.tuile-petits{--accent:var(--rubis)}
.tuile-famille{--accent:var(--emeraude)}
.tuile-direct{grid-column:span 4;--accent:var(--rubis);min-height:300px}
.tuile-bible{grid-column:span 2;--accent:var(--or)}
.tuile-gamaliel{grid-column:span 2;--accent:var(--or-clair)}
.tuile-aventures{grid-column:span 2;--accent:var(--amethyste)}
.tuile-cinema{grid-column:span 2;--accent:var(--azur)}
@media (max-width:980px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.tuile-direct{grid-column:span 2}.tuile-jouer{grid-row:span 1;min-height:340px}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.tuile-jouer,.tuile-direct,.tuile-bible,.tuile-gamaliel,.tuile-aventures,.tuile-cinema{grid-column:auto}.tuile{min-height:250px}}

/* ---------- parcours ---------- */
.parcours{background:linear-gradient(180deg,transparent,rgba(24,32,63,.45),transparent)}
.chemin{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:etape;position:relative}
.chemin::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:linear-gradient(90deg,var(--rubis),var(--saphir),var(--braise),var(--emeraude));opacity:.6}
.chemin li{position:relative;padding-top:42px;display:grid;gap:8px;align-content:start}
.chemin li::before{content:"";position:absolute;top:6px;left:0;width:20px;height:20px;border-radius:50%;background:var(--nuit);border:3px solid var(--or);box-shadow:0 0 18px rgba(242,184,75,.6)}
.chemin-age{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--or)}
.chemin p{color:var(--doux);font-size:.95rem}
.chemin a{font-weight:700;text-decoration:none;margin-top:4px}
.chemin a:hover{text-decoration:underline}
@media (max-width:860px){.chemin{grid-template-columns:1fr 1fr;row-gap:28px}.chemin::before{display:none}}
@media (max-width:480px){.chemin{grid-template-columns:1fr}}

/* ---------- églises ---------- */
.eglises-in{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.eglises-actions{margin-top:24px}
.atouts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.atouts li{background:var(--nuit-2);border:1px solid var(--ligne-douce);border-radius:var(--r-m);padding:18px;display:grid;gap:6px}
.atouts b{font-family:var(--f-titre);font-size:1.02rem;color:var(--or-clair)}
.atouts span{color:var(--doux);font-size:.92rem}
@media (max-width:860px){.eglises-in{grid-template-columns:1fr}}
@media (max-width:480px){.atouts{grid-template-columns:1fr}}

/* ---------- soutien ---------- */
.soutien{padding-bottom:72px}
.soutien-in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:40px;border-radius:var(--r-xl);border:1px solid rgba(242,184,75,.35);
  background:radial-gradient(600px 300px at 90% 0%,rgba(242,184,75,.22),transparent 70%),linear-gradient(135deg,#1a1730,#10162d)}
.soutien-in>div{max-width:640px}
.soutien .mc-lead{margin-top:10px}
@media (max-width:560px){.soutien-in{padding:26px}}
