/* ItalFire — referenze responsive */
.italfire-references-home{background:#fff;padding:clamp(40px,6vw,76px) 0}.italfire-references-home .inner{position:relative}.italfire-reference-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);padding:24px 0}.italfire-reference-track{display:flex;gap:16px;width:max-content;animation:italfire-reference-scroll 43s linear infinite}.italfire-reference-marquee:hover .italfire-reference-track{animation-play-state:paused}.italfire-reference-set{display:flex;gap:16px;flex:none}.italfire-reference-name{display:flex;align-items:center;justify-content:center;min-width:218px;max-width:265px;min-height:95px;padding:14px 24px;text-align:center;font-size:clamp(15px,1.8vw,18px);font-weight:750;line-height:1.25;letter-spacing:-.01em;color:#142036;background:#fff;border:1px solid rgba(20,32,54,.14);border-radius:16px;box-shadow:0 9px 26px rgba(16,28,48,.06);white-space:normal}.italfire-reference-actions{padding-top:12px}.italfire-clients-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}.italfire-clients-group{background:white;border:1px solid rgba(20,32,54,.14);border-radius:18px;padding:24px;box-shadow:0 8px 25px rgba(16,28,48,.05)}.italfire-clients-group h2{margin-top:0}.italfire-clients-group li{margin:.65rem 0}.italfire-clients-services,.italfire-clients-note{margin-top:34px}.italfire-clients-services .v2grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.italfire-clients-service-card{background:white;border:1px solid rgba(20,32,54,.14);border-radius:16px;padding:20px}.italfire-clients-service-card b{display:block;margin-bottom:8px}@keyframes italfire-reference-scroll{to{transform:translateX(calc(-50% - 8px))}}@media(max-width:780px){.italfire-reference-name{min-width:170px;max-width:220px;min-height:90px;padding:15px}.italfire-clients-groups,.italfire-clients-services .v2grid{grid-template-columns:1fr}.hero .actions{padding-bottom:22px}.italfire-references-home{padding:30px 0}}@media(prefers-reduced-motion:reduce){.italfire-reference-track{animation:none}.italfire-reference-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.italfire-reference-set[aria-hidden=true]{display:none}}
/* ItalFire: hero mobile e referenze fotografiche/logo, 27-10-2026 */
.italfire-hero-second-line{display:block}
.italfire-reference-marquee{overflow:hidden}
.italfire-reference-track{display:flex;gap:16px;width:max-content;animation:italfire-reference-scroll 38s linear infinite}
.italfire-reference-set{display:flex;gap:16px;flex:none}
.italfire-brand-card{display:flex;align-items:center;justify-content:center;flex:none;width:clamp(185px,22vw,260px);height:125px;box-sizing:border-box;padding:18px 22px;background:#fff;border:1px solid rgba(20,32,54,.12);border-radius:18px;box-shadow:0 9px 26px rgba(16,28,48,.05)}
.italfire-brand-card img{display:block;width:100%;max-width:205px;height:85px;max-height:85px;object-fit:contain;filter:grayscale(1);opacity:.92;transition:filter .2s ease,opacity .2s ease}
.italfire-brand-card:hover img{filter:none;opacity:1}
.italfire-clients-editorial{max-width:1100px}.italfire-clients-editorial .italfire-reference-marquee{margin:18px calc(-1 * max(20px,(100vw - 1100px)/2)) 0}.italfire-clients-editorial .italfire-clients-services{margin-top:clamp(42px,6vw,78px)}
@media(max-width:760px){
 .hero{height:auto!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;padding-bottom:110px!important;overflow:hidden!important}
 .hero .hero-copy{position:relative!important;z-index:3!important;padding-bottom:12px!important}
 .hero .actions{position:relative!important;z-index:5!important;display:flex!important;flex-direction:column!important;gap:10px!important;margin-bottom:0!important}
 .hero .actions>a{flex-shrink:0!important}
 .hero .eyebrow{font-size:clamp(10px,2.8vw,13px)!important;letter-spacing:.09em!important;line-height:1.45!important}
 .hero+.servicewrap{margin-top:-65px!important;position:relative!important}
 .italfire-brand-card{width:185px;height:110px;padding:13px 17px}.italfire-brand-card img{max-width:160px;height:74px}
 .italfire-clients-editorial .italfire-reference-marquee{margin-left:-20px;margin-right:-20px}
}
@media(prefers-reduced-motion:reduce){.italfire-reference-track{animation:none!important}.italfire-reference-marquee{overflow-x:auto!important}.italfire-reference-set[aria-hidden=true]{display:none!important}}

/* ItalFire: prevent mobile horizontal scrolling caused by split text and logo strip. */
@media(max-width:760px){
 body .italfire-dual-second{box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:calc(100vw - 76px)!important;white-space:normal!important;overflow-wrap:anywhere!important}
 body .italfire-clients-editorial .italfire-reference-marquee{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
}

/* ItalFire: user-supplied identity marks; preserve original colors except white logos. */
.italfire-brand-card img.italfire-logo-original,
.italfire-brand-card:hover img.italfire-logo-original{filter:none!important;opacity:1!important}
.italfire-brand-card img.italfire-logo-black,
.italfire-brand-card:hover img.italfire-logo-black{filter:brightness(0)!important;opacity:1!important}
/* The carousel remains running on desktop hover and on mobile touch/press. */
@media(prefers-reduced-motion:no-preference){
 .italfire-reference-track{animation:italfire-reference-scroll 30s linear infinite!important;animation-play-state:running!important}
 .italfire-reference-marquee:hover .italfire-reference-track,
 .italfire-reference-marquee:active .italfire-reference-track,
 .italfire-reference-marquee:focus-within .italfire-reference-track{animation-play-state:running!important}
}

/* Carousel timing and desktop container safe bleed: 2026-10-27. */
@media(prefers-reduced-motion:no-preference){
 .italfire-reference-track{animation-duration:38s!important;animation-play-state:running!important}
 .italfire-reference-marquee:hover .italfire-reference-track,
 .italfire-reference-marquee:active .italfire-reference-track,
 .italfire-reference-marquee:focus-within .italfire-reference-track{animation-play-state:running!important}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .italfire-reference-track{animation-duration:34s!important;animation-play-state:running!important}
}
@media(min-width:761px){
 body .italfire-clients-editorial .italfire-reference-marquee{
  margin-left:calc(-1 * max(0px,(100vw - 1120px)/2))!important;
  margin-right:calc(-1 * max(0px,(100vw - 1120px)/2))!important;
 }
}

/* 2026-10-28: align client logo carousels with surrounding content. */
.italfire-references-home > .italfire-reference-marquee{
 width:min(1160px,calc(100% - 60px));
 max-width:100%;box-sizing:border-box;
 margin-left:auto;margin-right:auto;
}
body .italfire-clients-editorial .italfire-reference-marquee{
 width:100%!important;max-width:100%!important;
 box-sizing:border-box!important;
 margin:18px 0 0!important;
}
@media(max-width:760px){
 .italfire-references-home > .italfire-reference-marquee{
  width:calc(100% - 32px);
 }
}
