/* PRATINIUM v123 — Conversion cinématique / profondeur fintech premium
   Objectif : couches de verre, lumière, halos, transitions vidéo, footer institutionnel.
   Scope volontairement limité à la page d'accueil + footer global. */

:root{
  --pf123-ink:#07111f;
  --pf123-navy:#030712;
  --pf123-blue:#081b3d;
  --pf123-cyan:#5ee7ff;
  --pf123-gold:#f7c75d;
  --pf123-glass:rgba(255,255,255,.10);
  --pf123-border:rgba(255,255,255,.22);
  --pf123-shadow:0 44px 140px rgba(2,6,23,.28),0 18px 56px rgba(2,6,23,.18);
}

body#index{
  background:
    radial-gradient(circle at 12% 7%, rgba(94,231,255,.11), transparent 31vw),
    radial-gradient(circle at 86% 18%, rgba(247,199,93,.12), transparent 28vw),
    linear-gradient(180deg,#f8fbff 0%,#f3f7fb 42%,#eef4fa 100%) !important;
}

/* HERO : ambition, puissance, innovation */
body#index .pf-hero,
body#index section.pf-hero{
  position:relative !important;
  isolation:isolate !important;
  border-radius:42px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 60px 180px rgba(2,6,23,.46), 0 22px 64px rgba(8,27,61,.30), inset 0 1px 0 rgba(255,255,255,.18) !important;
  transform-style:preserve-3d !important;
  perspective:1400px !important;
  background:#030712 !important;
}
body#index .pf-hero:before{
  background:
    radial-gradient(circle at var(--pf123-light-x, 62%) var(--pf123-light-y, 26%), rgba(94,231,255,.46), transparent 22%),
    radial-gradient(circle at 22% 25%, rgba(247,199,93,.34), transparent 25%),
    radial-gradient(circle at 50% 92%, rgba(44,125,255,.22), transparent 34%),
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,.13) 44%, transparent 58%) !important;
  filter:blur(10px) saturate(1.18) !important;
  opacity:.98 !important;
  mix-blend-mode:screen !important;
  animation:pf123HeroAurora 13s ease-in-out infinite alternate !important;
}
body#index .pf-hero:after{
  background:
    linear-gradient(105deg, rgba(3,7,18,.98) 0%, rgba(3,7,18,.84) 34%, rgba(7,26,61,.56) 64%, rgba(3,7,18,.36) 100%),
    radial-gradient(circle at 72% 64%, rgba(247,199,93,.28), transparent 30%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 42px) !important;
}
body#index .pf-hero__bg-img{
  transform:scale(1.08) translate3d(calc(var(--pf123-mx,0px) * -.16), calc(var(--pf123-my,0px) * -.12), 0) !important;
  filter:contrast(1.28) saturate(1.24) brightness(.58) !important;
  transition:transform .65s cubic-bezier(.16,1,.3,1), filter .65s ease !important;
}
body#index .pf-hero__content{
  transform:translate3d(calc(var(--pf123-mx,0px) * .14), calc(var(--pf123-my,0px) * .10), 44px) !important;
  transition:transform .75s cubic-bezier(.16,1,.3,1) !important;
}
body#index .pf-hero__copy{
  filter:drop-shadow(0 32px 72px rgba(0,0,0,.34)) !important;
}
body#index .pf-hero__badge{
  animation:pf123BadgeBreath 5.8s ease-in-out infinite !important;
  box-shadow:0 22px 52px rgba(247,199,93,.34),0 0 0 1px rgba(255,255,255,.42), inset 0 1px 0 rgba(255,255,255,.75) !important;
}
body#index .pf-hero__title{
  text-shadow:0 30px 76px rgba(0,0,0,.70), 0 0 42px rgba(94,231,255,.12) !important;
}
body#index .pf-hero__title:after{
  animation:pf123LinePulse 4.8s ease-in-out infinite !important;
}
body#index .pf-hero__subtitle{
  color:rgba(255,255,255,.94) !important;
  text-shadow:0 18px 44px rgba(0,0,0,.48) !important;
}

/* Couches de verre décoratives injectées par JS */
body#index .pf123-cinema-layer,
body#index .pf123-light-orb,
body#index .pf123-grid-haze{position:absolute;pointer-events:none;z-index:2;display:block}
body#index .pf123-cinema-layer{
  inset:7% 5% 7% auto;width:min(46vw,680px);border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.16), rgba(94,231,255,.07) 35%, transparent 67%);
  filter:blur(2px);opacity:.9;transform:translate3d(calc(var(--pf123-mx,0px) * -.26),calc(var(--pf123-my,0px) * -.20),0);
  animation:pf123Float 8s ease-in-out infinite;
}
body#index .pf123-light-orb{width:210px;height:210px;border-radius:999px;background:radial-gradient(circle,rgba(247,199,93,.35),transparent 67%);filter:blur(9px);left:8%;bottom:14%;animation:pf123Orb 11s ease-in-out infinite alternate}
body#index .pf123-grid-haze{inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(circle at 62% 48%,#000 0%,transparent 62%);opacity:.38;transform:translate3d(calc(var(--pf123-mx,0px) * -.08),calc(var(--pf123-my,0px) * -.08),0)}

/* Verre, profondeur et hovers riches sur les blocs */
body#index .pf-hero-journey,
body#index .pf-stats,
body#index .pf-partners__panel,
body#index .pf-project-card,
body#index .pf-legal__item{
  position:relative !important;
  overflow:hidden !important;
  transform:translateZ(0) !important;
  box-shadow:var(--pf123-shadow), inset 0 1px 0 rgba(255,255,255,.70) !important;
}
body#index .pf-hero-journey:before,
body#index .pf-stats:before,
body#index .pf-partners__panel:before,
body#index .pf-project-card:before,
body#index .pf-legal__item:before,
.pf-footer-links--global:before{
  content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;
  background:linear-gradient(115deg, rgba(255,255,255,.46), transparent 28%, rgba(94,231,255,.16) 55%, transparent 78%, rgba(247,199,93,.22));
  opacity:.42;mix-blend-mode:screen;
}
body#index .pf-hero-journey:after,
body#index .pf-stats:after,
body#index .pf-partners__panel:after,
body#index .pf-project-card:after,
body#index .pf-legal__item:after{
  content:"";position:absolute;inset:auto 18px 0 18px;height:1px;background:linear-gradient(90deg,transparent,rgba(94,231,255,.45),rgba(247,199,93,.40),transparent);opacity:.75;pointer-events:none;
}
body#index .pf-project-card,
body#index .pf-legal__item,
body#index .pf-stats__item,
body#index .pf-partner-slot,
body#index .pf-btn,
body#index .pf-tab{
  transition:transform .55s cubic-bezier(.16,1,.3,1), box-shadow .55s cubic-bezier(.16,1,.3,1), filter .55s ease, border-color .55s ease !important;
}
body#index .pf-project-card:hover,
body#index .pf-legal__item:hover{
  transform:translateY(-10px) scale(1.012) !important;
  box-shadow:0 54px 150px rgba(2,6,23,.34),0 18px 48px rgba(94,231,255,.14), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
body#index .pf-btn:hover,
body#index .pf-tab:hover,
body#index .pf-partner-slot:hover{
  transform:translateY(-3px) !important;
  filter:saturate(1.13) brightness(1.04) !important;
}
body#index .pf-stats__num,
body#index .pf-section-title,
body#index .pf-partners__title{letter-spacing:-.045em !important}
body#index .pf-trust-bar{
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 30px 90px rgba(2,6,23,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  position:relative !important;overflow:hidden !important;
}
body#index .pf-trust-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(94,231,255,.12),rgba(247,199,93,.10),transparent);transform:translateX(-55%);animation:pf123Sweep 8s ease-in-out infinite;pointer-events:none}

/* Apparition cinématique au scroll */
body#index .pf-cinema-reveal{
  opacity:0;
  transform:translateY(42px) scale(.985);
  filter:blur(12px);
  transition:opacity .95s cubic-bezier(.16,1,.3,1), transform .95s cubic-bezier(.16,1,.3,1), filter .95s ease;
  will-change:opacity,transform,filter;
}
body#index .pf-cinema-reveal.is-visible{
  opacity:1;transform:translateY(0) scale(1);filter:blur(0);
}
body#index .pf-cinema-reveal:nth-child(2){transition-delay:.08s}
body#index .pf-cinema-reveal:nth-child(3){transition-delay:.14s}

/* Footer : plus groupe financier / institutionnel */
.pf-footer-links--global{
  position:relative !important;
  overflow:hidden !important;
  margin-top:34px !important;
  padding:22px 0 !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(94,231,255,.16), transparent 34%),
    radial-gradient(circle at 78% 100%, rgba(247,199,93,.15), transparent 30%),
    linear-gradient(135deg,#030712 0%,#071a3d 54%,#030712 100%) !important;
  color:rgba(255,255,255,.84) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 -26px 90px rgba(2,6,23,.16), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.pf-footer-links--global .pf-footer-links__inner{
  display:grid !important;grid-template-columns:1.15fr auto 1fr !important;gap:18px !important;align-items:center !important;
}
.pf-footer-links--global .pf-footer-links__brand{font-weight:950;color:#fff;letter-spacing:.02em;white-space:nowrap;text-shadow:0 0 28px rgba(94,231,255,.24)}
.pf-footer-links--global .pf-footer-links__brand small{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-size:.74rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.pf-footer-links--global .pf-footer-links__nav{display:flex !important;justify-content:center !important;gap:18px !important;flex-wrap:wrap !important}
.pf-footer-links--global a{color:rgba(255,255,255,.82) !important;text-decoration:none !important;font-weight:800 !important}
.pf-footer-links--global a:hover{color:#f7c75d !important;text-shadow:0 0 22px rgba(247,199,93,.35)}
.pf-footer-links--global .pf-footer-links__copy{text-align:right;color:rgba(255,255,255,.64) !important;font-size:.86rem !important}
.pf-footer-links--global .pf-footer-links__trust{display:block;margin-top:5px;color:rgba(94,231,255,.72);font-size:.75rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}

@keyframes pf123HeroAurora{0%{transform:translate3d(-28px,-10px,0) scale(1)}100%{transform:translate3d(38px,14px,0) scale(1.10)}}
@keyframes pf123LinePulse{0%,100%{opacity:.72;filter:brightness(1)}50%{opacity:1;filter:brightness(1.28) drop-shadow(0 0 18px rgba(94,231,255,.38))}}
@keyframes pf123BadgeBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.018)}}
@keyframes pf123Float{0%,100%{transform:translate3d(calc(var(--pf123-mx,0px) * -.26),calc(var(--pf123-my,0px) * -.20),0) rotate(-2deg)}50%{transform:translate3d(calc(var(--pf123-mx,0px) * -.18),calc(var(--pf123-my,0px) * -.16 - 16px),0) rotate(2deg)}}
@keyframes pf123Orb{from{transform:translate3d(0,0,0) scale(.9)}to{transform:translate3d(34px,-28px,0) scale(1.18)}}
@keyframes pf123Sweep{0%,100%{transform:translateX(-64%)}50%{transform:translateX(64%)}}

@media (max-width:991px){
  body#index .pf-hero,body#index section.pf-hero{border-radius:28px !important;box-shadow:0 38px 100px rgba(2,6,23,.36), inset 0 1px 0 rgba(255,255,255,.16) !important}
  body#index .pf-hero__content{transform:none !important}
  body#index .pf123-cinema-layer{inset:10% -14% 20% auto;width:78vw;opacity:.55}
  body#index .pf123-light-orb{left:-18%;bottom:18%;opacity:.68}
  .pf-footer-links--global .pf-footer-links__inner{grid-template-columns:1fr !important;text-align:center !important}
  .pf-footer-links--global .pf-footer-links__copy{text-align:center !important}
}
@media (prefers-reduced-motion:reduce){
  body#index *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
  body#index .pf-cinema-reveal{opacity:1 !important;transform:none !important;filter:none !important}
}


/* v125 — Footer institutional copy + true mobile centering */
.pf-footer-links--global .pf-footer-links__trust{
  display:none !important;
}
.pf-footer-links--global .pf-footer-links__copy{
  white-space:nowrap !important;
  line-height:1.25 !important;
  letter-spacing:-.015em !important;
}
.pf-footer-links--global .pf-footer-links__brand,
.pf-footer-links--global .pf-footer-links__brand small{
  max-width:100% !important;
  box-sizing:border-box !important;
}
@media (max-width:991px){
  .pf-footer-links--global{
    padding:20px 10px 22px !important;
    border-radius:22px !important;
  }
  .pf-footer-links--global .pf-footer-links__inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding-left:8px !important;
    padding-right:8px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
    overflow:hidden !important;
  }
  .pf-footer-links--global .pf-footer-links__brand{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
    white-space:normal !important;
    display:block !important;
  }
  .pf-footer-links--global .pf-footer-links__brand small{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    margin:5px auto 0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    font-size:clamp(.50rem, 2.55vw, .68rem) !important;
    line-height:1.25 !important;
    letter-spacing:.045em !important;
  }
  .pf-footer-links--global .pf-footer-links__nav{
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
    row-gap:8px !important;
    text-align:center !important;
  }
  .pf-footer-links--global .pf-footer-links__copy{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-size:clamp(.56rem, 2.55vw, .78rem) !important;
    line-height:1.25 !important;
    letter-spacing:-.035em !important;
    transform:none !important;
  }
}
@media (max-width:380px){
  .pf-footer-links--global .pf-footer-links__brand small{
    font-size:clamp(.46rem, 2.35vw, .60rem) !important;
    letter-spacing:.025em !important;
  }
  .pf-footer-links--global .pf-footer-links__nav{
    gap:9px !important;
  }
  .pf-footer-links--global .pf-footer-links__nav a{
    font-size:.82rem !important;
  }
  .pf-footer-links--global .pf-footer-links__copy{
    font-size:clamp(.50rem, 2.25vw, .68rem) !important;
    letter-spacing:-.055em !important;
  }
}
