/* Fabrika 06 — pagina portfolio vetrina. Stesso linguaggio della skin v2 (giallo #FFC700, fasce #111013, titoli F06 Display). */
.fps{--ink:#111013;--ink2:#1A1B1F;--y:#FFC700;--y-dark:#E6B300;--y-soft:#FFF4CC;--cream:#F6F2EC;--line:#e7e1d6;--muted:#5b5a55;--r:18px;--display:"F06 Display","Montserrat",system-ui,sans-serif;color:var(--ink)}
.fps *,.fps *::before,.fps *::after{box-sizing:border-box}
.fps a{text-decoration:none!important;background-image:none!important}
/* Le fasce a tutta larghezza (100vw) escono dalla colonna del tema: si taglia sul body, non sul contenitore, che da telefono è più stretto dello schermo */
body:has(.fps){overflow-x:clip}
.fps-wrap{width:min(1240px,100% - 40px);margin:0 auto;position:relative}
.fps > section{position:relative;width:100vw;margin-left:calc(50% - 50vw)}

.fps-eyebrow{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12.5px;margin:0 0 18px;color:var(--ink)}
.fps-eyebrow::before{content:"";display:inline-block;width:26px;height:5px;border-radius:3px;background:var(--y);margin-right:12px;vertical-align:middle;position:relative;top:-1px}
.fps-h2{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.04;letter-spacing:-.03em;margin:0 0 48px;max-width:16ch}

/* Bottoni */
.fps-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:16px;padding:18px 30px;border-radius:999px;background:var(--y);color:var(--ink)!important;box-shadow:0 14px 34px -14px rgba(255,199,0,.75);transition:transform .2s,background .2s,box-shadow .2s,color .2s}
.fps-btn:hover{transform:translateY(-3px);background:var(--y-dark)}
.fps-btn .fps-arrow{transition:transform .25s}
.fps-btn:hover .fps-arrow{transform:translateX(5px)}
.fps-btn--ghost{background:transparent;box-shadow:inset 0 0 0 2px var(--ink);padding:14px 24px}
.fps-btn--ghost:hover{background:var(--ink);color:#fff!important}
.fps-btn--light{background:rgba(255,255,255,.08);color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.fps-btn--light:hover{background:rgba(255,255,255,.16)}

/* ---------- Apertura ---------- */
.fps-hero{background:var(--ink);color:#fff;padding:190px 0 96px;overflow:hidden;isolation:isolate}
.fps-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 70%);z-index:-1}
.fps-hero__glow{position:absolute;width:720px;height:720px;right:-180px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(255,199,0,.32),transparent 62%);filter:blur(10px);z-index:-1;animation:fps-float 12s ease-in-out infinite alternate}
@keyframes fps-float{to{transform:translate(-120px,80px) scale(1.12)}}
.fps-hero .fps-eyebrow{color:rgba(255,255,255,.75)}
.fps-hero__title{font-family:var(--display);font-weight:900;font-size:clamp(2.8rem,7.4vw,6.6rem);line-height:.98;letter-spacing:-.045em;margin:0 0 30px;color:#fff}
.fps-hero__title em{font-style:normal;color:var(--y)}
.fps-hero__lead{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.6;color:rgba(255,255,255,.75);max-width:58ch;margin:0 0 64px}
.fps-stats{list-style:none;margin:0 0 56px;padding:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid rgba(255,255,255,.14)}
.fps-stats li{margin:0}
.fps-stats strong{display:block;font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,4.2vw,3.6rem);letter-spacing:-.04em;line-height:1;color:var(--y);font-variant-numeric:tabular-nums}
.fps-stats span{display:block;margin-top:10px;font-size:14.5px;color:rgba(255,255,255,.65);max-width:20ch}
.fps-scroll{display:inline-flex;gap:10px;color:#fff!important;font-weight:700;font-size:15px;opacity:.8;transition:opacity .2s}
.fps-scroll:hover{opacity:1}
.fps-scroll span{display:inline-block;animation:fps-bob 1.8s ease-in-out infinite}
@keyframes fps-bob{50%{transform:translateY(5px)}}

/* ---------- Anteprima che scorre ---------- */
.fps-shot{position:relative;overflow:hidden;background:var(--cream);aspect-ratio:4/3}
.fps-shot img{display:block;width:100%;height:auto;max-width:none;transform:translateY(0);transition:transform .9s cubic-bezier(.3,.6,.3,1)}
.fps-shot::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,rgba(17,16,19,.12));pointer-events:none;transition:opacity .4s}

/* ---------- Casi in evidenza ---------- */
.fps-featured{background:var(--cream);padding:120px 0 80px}
.fps-case{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;margin-bottom:110px}
.fps-case:last-child{margin-bottom:40px}
.fps-case--flip .fps-case__media{order:2}
.fps-case__media{display:block;border-radius:var(--r);overflow:hidden;box-shadow:0 40px 80px -40px rgba(17,16,19,.45);transform:perspective(1200px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .4s ease,box-shadow .4s}
.fps-case__media:hover{box-shadow:0 50px 90px -40px rgba(17,16,19,.55)}
.fps-shot--case{aspect-ratio:16/11}
.fps-case__num{font-family:var(--display);font-weight:800;font-size:15px;color:var(--ink);margin:0 0 14px;display:flex;align-items:center;gap:14px}
.fps-case__num span{font-family:inherit;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:var(--y);padding:6px 12px;border-radius:999px}
.fps-case__title{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1;margin:0 0 16px}
.fps-case__title a{color:var(--ink)!important}
.fps-case__claim{font-family:var(--display);font-weight:700;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.3;letter-spacing:-.01em;margin:0 0 16px}
.fps-case__text{color:var(--muted);line-height:1.65;margin:0 0 28px}
.fps-case__stats{list-style:none;padding:0;margin:0 0 32px;display:flex;gap:34px;flex-wrap:wrap}
.fps-case__stats li{margin:0}
.fps-case__stats strong{display:block;font-family:var(--display);font-weight:900;font-size:2rem;letter-spacing:-.03em;line-height:1}
.fps-case__stats span{font-size:13.5px;color:var(--muted)}

/* ---------- Fascia ---------- */
.fps-band{background:var(--y);padding:44px 0;overflow:hidden}
.fps-band__in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.fps-band__text{font-family:var(--display);font-weight:900;font-size:clamp(1.6rem,3.4vw,2.8rem);letter-spacing:-.035em;line-height:1.05;margin:0}
.fps-band__text em{font-style:normal;text-decoration:underline;text-decoration-thickness:5px;text-underline-offset:6px}
.fps-band .fps-btn{background:var(--ink);color:#fff!important;box-shadow:none}
.fps-band .fps-btn:hover{background:#000}

/* ---------- Tutti i lavori ---------- */
.fps-all{padding:120px 0 120px;background:#fff}
.fps-all__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:18px}
.fps-all__head .fps-h2{margin-bottom:0}
.fps-filters{display:flex;flex-wrap:wrap;gap:10px}
.fps-filters button{font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;border:0;border-radius:999px;padding:12px 18px;background:var(--cream);color:var(--ink);transition:background .2s,color .2s,transform .2s}
.fps-filters button span{opacity:.55;font-weight:600;margin-left:4px}
.fps-filters button:hover{transform:translateY(-2px)}
.fps-filters button.is-active{background:var(--ink);color:#fff}
.fps-filters button.is-active span{color:var(--y);opacity:1}
.fps-filters button:focus-visible,.fps a:focus-visible{outline:3px solid var(--y-dark);outline-offset:3px}
.fps-hint{font-size:13.5px;color:var(--muted);margin:0 0 36px}
.fps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fps-card{border-radius:var(--r);background:#fff;box-shadow:0 0 0 1px var(--line);overflow:hidden;transition:box-shadow .3s,transform .3s}
.fps-card[hidden]{display:none}
.fps-card.is-out{opacity:0;transform:scale(.97)}
.fps-card:hover{box-shadow:0 0 0 1px var(--ink),0 30px 60px -30px rgba(17,16,19,.35);transform:translateY(-4px)}
.fps-card__link{display:flex;flex-direction:column;height:100%;color:var(--ink)!important}
.fps-card__body{padding:22px 24px 22px;display:flex;flex-direction:column;flex:1}
.fps-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.fps-chip{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--cream)}
.fps-card__title{font-family:var(--display);font-weight:800;font-size:1.45rem;letter-spacing:-.02em;line-height:1.1;margin:0 0 10px}
.fps-card__intro{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.fps-card__meta{margin:auto 0 0;display:flex;justify-content:space-between;align-items:center;font-size:13.5px;font-weight:700;color:var(--muted)}
.fps-card__go{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--ink);font-size:17px;transition:background .25s,transform .25s}
.fps-card:hover .fps-card__go{background:var(--y);transform:rotate(-45deg)}
.fps-card:hover .fps-chip{background:var(--y-soft)}

/* ---------- Chiusura ---------- */
.fps-cta{background:var(--ink);color:#fff;padding:120px 0;overflow:hidden;isolation:isolate}
.fps-cta::before{content:"";position:absolute;width:640px;height:640px;left:-220px;bottom:-320px;border-radius:50%;background:radial-gradient(circle,rgba(255,199,0,.25),transparent 62%);z-index:-1}
.fps-cta .fps-eyebrow{color:rgba(255,255,255,.75)}
.fps-cta__title{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 24px;color:#fff}
.fps-cta__lead{color:rgba(255,255,255,.72);font-size:1.15rem;line-height:1.6;max-width:56ch;margin:0 0 40px}
.fps-cta__btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Comparsa allo scroll ---------- */
.fps-js .fps-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.fps-js .fps-reveal.is-in{opacity:1;transform:none}
.fps-js .fps-card.fps-reveal.is-in:hover{transform:translateY(-4px)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
	.fps-grid{grid-template-columns:repeat(2,1fr)}
	.fps-stats{grid-template-columns:repeat(2,1fr);row-gap:34px}
}
@media (max-width:820px){
	.fps-case{grid-template-columns:1fr;gap:28px;margin-bottom:80px}
	.fps-case--flip .fps-case__media{order:0}
	.fps-hero{padding:150px 0 72px}
}
@media (max-width:600px){
	.fps-wrap{width:calc(100% - 32px)}
	.fps-grid{grid-template-columns:1fr}
	.fps-featured,.fps-all,.fps-cta{padding:80px 0}
	.fps-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}
	.fps-filters button{flex:none}
	.fps-hint{display:none}
	.fps-cta__btns .fps-btn{width:100%;justify-content:center}
}
@media (hover:none){.fps-hint{display:none}}
@media (prefers-reduced-motion:reduce){
	.fps *{animation:none!important;transition:none!important}
	.fps-js .fps-reveal{opacity:1;transform:none}
}

/* FAQ aggiunte da fabrika-aeo-schema dopo il blocco della pagina: stesso contenitore e stile della vetrina */
.fps ~ .fab-aeo-faq{width:min(1240px,100% - 40px);margin:110px auto!important;font-family:inherit}
.fps ~ .fab-aeo-faq h2{font-family:"F06 Display","Montserrat",system-ui,sans-serif;font-weight:800;font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.04;letter-spacing:-.03em;color:#111013;margin:0 0 36px!important}
.fps ~ .fab-aeo-faq details{margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid #e7e1d6!important;border-radius:0!important;background:none!important}
.fps ~ .fab-aeo-faq details:first-of-type{border-top:1px solid #e7e1d6!important}
.fps ~ .fab-aeo-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0!important;margin:0!important;font-family:"F06 Display","Montserrat",system-ui,sans-serif;font-weight:800!important;font-size:1.2rem;line-height:1.3;color:#111013}
.fps ~ .fab-aeo-faq summary::-webkit-details-marker{display:none}
.fps ~ .fab-aeo-faq summary::after{content:"+";flex:0 0 38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#F6F2EC;font-size:22px;font-weight:600;transition:transform .3s,background .2s}
.fps ~ .fab-aeo-faq details[open] summary::after,.fps ~ .fab-aeo-faq summary:hover::after{background:#FFC700}
.fps ~ .fab-aeo-faq details[open] summary::after{transform:rotate(45deg)}
.fps ~ .fab-aeo-faq details > div{padding:0 0 22px;max-width:80ch;color:#2b2a2e;line-height:1.7}
@media (max-width:600px){.fps ~ .fab-aeo-faq{width:calc(100% - 32px);margin:70px auto!important}}
@media (max-width:600px){.fps-case__stats{gap:22px}.fps-case__stats strong{font-size:1.55rem}}
