/* Prism Robotics v0.2.5.22 — Nova, première apparition sur Formations.
   Styles locaux : aucun impact sur les comptes, l'administration et les autres pages. */
.pf-hero--nova {
  grid-template-columns:minmax(0,1.07fr) minmax(350px,.93fr);
  gap:clamp(28px,4vw,56px);
  padding-top:67px;
  padding-bottom:88px;
}
.pf-hero--nova .pf-lead { max-width:615px; }
.pf-nova-stage {
  position:relative;
  isolation:isolate;
  margin:0;
  min-width:0;
  min-height:476px;
  border:1px solid rgba(105,151,216,.32);
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 65% 56% at 53% 36%,rgba(47,110,227,.32),transparent 80%),
    radial-gradient(ellipse 88% 67% at 80% 10%,rgba(105,74,188,.16),transparent 78%),
    linear-gradient(149deg,#152848 0%,#0f203b 57%,#0d1b33 100%);
  box-shadow:0 25px 65px rgba(3,8,22,.25),inset 0 1px 0 rgba(210,230,255,.06);
}
.pf-nova-stage::before {
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(113,170,238,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(113,170,238,.055) 1px,transparent 1px);
  background-size:47px 47px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
  -webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);
}
.pf-nova-stage::after {
  content:"";position:absolute;width:365px;height:365px;left:50%;top:37%;transform:translate(-50%,-50%);
  border:1px solid rgba(64,194,255,.20);border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 25px rgba(76,117,234,.025),0 0 0 57px rgba(89,120,206,.045);
}
.pf-nova-label {
  position:absolute;top:25px;left:27px;z-index:4;display:flex;align-items:center;gap:9px;
  color:#b8dff5;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
}
.pf-nova-label::before {
  content:"";width:7px;height:7px;border-radius:50%;background:#63e6dd;
  box-shadow:0 0 12px rgba(91,236,233,.45);
}
.pf-nova-spark {
  position:absolute;z-index:1;width:5px;height:5px;border-radius:50%;background:#95f3ff;
  box-shadow:0 0 14px rgba(82,200,255,.8);pointer-events:none;
}
.pf-nova-spark--a {top:94px;right:52px;opacity:.75;}
.pf-nova-spark--b {top:213px;left:37px;opacity:.65;width:3px;height:3px;}
.pf-nova-spark--c {top:301px;right:26px;opacity:.8;width:4px;height:4px;}
.pf-nova-portrait {
  position:absolute;z-index:2;display:block;width:min(92%,394px);height:auto;
  top:35px;left:50%;transform:translateX(-50%);
  filter:drop-shadow(0 22px 26px rgba(2,8,30,.50));
  animation:pf-nova-float 5.6s ease-in-out infinite;
}
.pf-nova-message {
  position:absolute;z-index:5;left:22px;right:22px;bottom:22px;
  display:flex;flex-direction:column;gap:4px;
  padding:18px 22px 19px;
  border:1px solid rgba(124,189,244,.36);border-radius:17px;
  background:linear-gradient(125deg,rgba(16,40,71,.97),rgba(18,35,67,.96));
  box-shadow:0 10px 28px rgba(2,10,30,.30);
}
.pf-nova-message::before {
  content:"";position:absolute;top:-7px;left:46px;width:13px;height:13px;
  transform:rotate(45deg);background:#102847;
  border-top:1px solid rgba(124,189,244,.36);border-left:1px solid rgba(124,189,244,.36);
}
.pf-nova-message strong {font-size:21px;line-height:1.28;letter-spacing:-.025em;color:#f1fcff;}
.pf-nova-message p {margin:0!important;color:#bcd7e8!important;font-size:13px;line-height:1.6;}
@keyframes pf-nova-float {
  0%,100% {transform:translate(-50%,0)}
  50% {transform:translate(-50%,-9px)}
}
@media(max-width:900px) {
  .pf-hero--nova {grid-template-columns:1fr;gap:34px;padding-top:50px;padding-bottom:69px;}
  .pf-nova-stage {min-height:450px;max-width:540px;width:100%;margin:0 auto;}
  .pf-nova-portrait {width:min(81%,388px);}
}
@media(max-width:620px) {
  .pf-hero--nova {padding-top:42px;padding-bottom:58px;gap:30px;}
  .pf-nova-stage {min-height:395px;border-radius:20px;}
  .pf-nova-stage::after {width:280px;height:280px;}
  .pf-nova-portrait {width:min(92%,325px);top:24px;}
  .pf-nova-message {left:13px;right:13px;bottom:13px;padding:15px 17px;border-radius:14px;}
  .pf-nova-message strong {font-size:19px;}
  .pf-nova-message p {font-size:12px;}
  .pf-nova-label {top:17px;left:18px;font-size:10px;}
}
@media(max-width:390px) {
  .pf-nova-stage {min-height:362px;}
  .pf-nova-portrait {width:min(94%,285px);top:26px;}
}
@media(prefers-reduced-motion:reduce) {
  .pf-nova-portrait {animation:none;}
}
