/* ═══════════════════════════════════════════════════════════════════════════
   AiJob — STRATO PREMIUM (26/09/2026). Si somma ad aj.css senza toccarlo:
   togliendo il <link> il sito torna esattamente com'era.
   Principi: effetti leggeri (solo transform/opacity), rispetto di
   prefers-reduced-motion, leve di persuasione basate solo su dati veri.
   ═══════════════════════════════════════════════════════════════════════════ */

/* barra di avanzamento della lettura */
.pr-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#155eef,#7a5af8,#0ba5ec);z-index:1000;pointer-events:none}

/* titoli a gradiente animato */
.grad,.brilla{background-size:220% 100%!important;animation:pr-scorri 8s ease-in-out infinite}
@keyframes pr-scorri{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* pulsante principale: riflesso che scorre + profondità */
.btn:not(.ghost):not(.bianco){position:relative;overflow:hidden;isolation:isolate;box-shadow:0 10px 30px -10px rgba(21,94,239,.55),inset 0 1px 0 rgba(255,255,255,.25)}
.btn:not(.ghost):not(.bianco)::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s cubic-bezier(.2,.8,.2,1);z-index:-1}
.btn:not(.ghost):not(.bianco):hover::after{transform:translateX(120%)}
.btn{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s}
.btn.grande:not(.ghost){animation:pr-respiro 3.6s ease-in-out infinite}
@keyframes pr-respiro{0%,100%{box-shadow:0 10px 30px -10px rgba(21,94,239,.55)}50%{box-shadow:0 14px 44px -8px rgba(122,90,248,.7)}}

/* schede con luce che segue il mouse e bordo a gradiente */
.card,.vf-card,.prof-card,.fondatore,.hx-numeri>div,.vf-banner,.faq details,.art-card,.bando-card{position:relative;isolation:isolate}
.pr-luce::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;transition:opacity .35s;
  background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(122,90,248,.13),transparent 42%)}
.pr-luce::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(21,94,239,.75),rgba(122,90,248,.4) 30%,transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.pr-luce:hover::before,.pr-luce:hover::after{opacity:1}

/* finestra dell'app in 3D */
.h3x-vis{perspective:1400px}
.app-win{transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;will-change:transform}

/* nastro scorrevole delle scadenze (dati veri) */
.pr-nastro{position:relative;overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,var(--sup),var(--sup2),var(--sup));padding:11px 0;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pr-nastro-in{display:flex;gap:40px;width:max-content;animation:pr-nastro 55s linear infinite}
.pr-nastro:hover .pr-nastro-in{animation-play-state:paused}
.pr-nastro a{display:inline-flex;gap:9px;align-items:center;white-space:nowrap;font-size:.9rem;color:var(--soft)}
.pr-nastro a b{color:var(--ink)}.pr-nastro a i{font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--blu-t);color:var(--blu)}
.pr-nastro a i.urg{background:rgba(240,68,56,.12);color:#d92d20}
@keyframes pr-nastro{to{transform:translateX(-50%)}}

/* sezione «Le prossime finestre» con conto alla rovescia */
.pr-finestre{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pr-fin{background:var(--sup);border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:10px;color:inherit;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.pr-fin:hover{transform:translateY(-4px);box-shadow:var(--ombra)}
.pr-fin .quando{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blu)}
.pr-fin h3{font-size:1.15rem;line-height:1.3;margin:0}.pr-fin p{color:var(--soft);font-size:.92rem;margin:0}
.pr-cd{display:flex;gap:8px;margin-top:auto}.pr-cd div{flex:1;text-align:center;background:var(--sup2);border-radius:12px;padding:8px 4px}
.pr-cd b{display:block;font-family:Manrope,sans-serif;font-size:1.45rem;font-variant-numeric:tabular-nums;line-height:1.1}.pr-cd small{font-size:.68rem;color:var(--muto);text-transform:uppercase;letter-spacing:.05em}
.pr-fin.aperta .pr-cd{display:none}.pr-fin .stato{display:inline-flex;align-self:flex-start;gap:6px;align-items:center;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(18,183,106,.12);color:#067647}
.pr-fin .stato::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;animation:pr-pulsa 1.8s infinite}
@keyframes pr-pulsa{0%{box-shadow:0 0 0 0 rgba(18,183,106,.5)}100%{box-shadow:0 0 0 9px rgba(18,183,106,0)}}

/* blocco «avversione alla perdita» */
.pr-perdita{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;background:radial-gradient(900px 400px at 10% 0%,rgba(122,90,248,.16),transparent 60%),linear-gradient(135deg,#0b1120,#141b34);color:#e8ecf6;border-radius:32px;padding:clamp(28px,5vw,56px);overflow:hidden;position:relative}
.pr-perdita h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12}.pr-perdita p{color:#b7c0d8}
.pr-perdita ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.pr-perdita li{display:flex;gap:10px;color:#dfe4f2}.pr-perdita li::before{content:'✕';color:#f97066;font-weight:800}
.pr-perdita .pr-meglio li::before{content:'✓';color:#32d583}
.pr-perdita .btn.bianco{margin-top:22px}
.pr-perdita::after{content:'';position:absolute;width:420px;height:420px;right:-120px;bottom:-160px;border-radius:50%;background:radial-gradient(circle,rgba(21,94,239,.35),transparent 65%);filter:blur(10px)}

/* barra fissa sul telefono */
.pr-barra{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:900;display:none;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:18px;
  background:rgba(12,17,32,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;box-shadow:0 18px 40px -12px rgba(0,0,0,.45);transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pr-barra.su{transform:none}.pr-barra span{font-size:.86rem;line-height:1.25;flex:1}.pr-barra span b{display:block;font-size:.95rem}.pr-barra .btn{padding:11px 16px;white-space:nowrap}
@media(max-width:760px){.pr-barra{display:flex}.pr-finestre{grid-template-columns:1fr}.pr-perdita{grid-template-columns:1fr}body{padding-bottom:84px}}
@media(min-width:761px) and (max-width:1024px){.pr-finestre{grid-template-columns:1fr 1fr}}

/* chi preferisce meno movimento */
@media (prefers-reduced-motion:reduce){
  .grad,.brilla,.btn.grande:not(.ghost),.pr-nastro-in,.pr-fin .stato::before{animation:none!important}
  .app-win,.btn,.pr-fin{transition:none!important}
}
