/* NODE99 — raccordi e varianti del sito sopra al CSS del template (assets/css/node99.css).
   Caricato PRIMA di tokens.css / base-funzionante.css / style.css del motore: le regole vincono
   per specificita' (.if-site ...), non per ordine. Prima stava inline in ogni pagina (~25 KB):
   spostato in file il 18/9 (PageSpeed) per alleggerire l'HTML e tenerlo in cache.
   Le note su ogni gruppo di regole stanno in blocchi/layout.php. */

.if-site .if-vision.if-vision--card{padding-top:65px}.if-site.if-document-copy .if-vision--card .if-solution-index-title{margin-top:0}
/* Accenti in viola nella dichiarazione "Cosa facciamo" (il <b> del CMS reso come <em>, 22/9) */
.if-site .if-vision-statement em,.if-site .if-vision-copy em{font-style:normal;color:var(--accent-ink)}
/* Sfondi di sezione: niente grigi, niente cerchio; card step della home un po' piu' scure */
html .if-site .if-vision,html .if-site .if-conversation{background:transparent}html .if-site .if-projects:before{display:none}
html .if-site.if-home .if-step{background:#e3e3e7}html[data-theme=dark] body.if-site.if-home .if-step{background:#303036}
/* Link dentro i paragrafi: sottolineati, non solo colorati (accessibilita') */
.if-site p a:not(.btn):not(.if-link):not(.if-button){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.if-site .if-method-heading{align-items:start}
.if-site .if-method h2,.if-site.if-document-copy .if-method h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15;letter-spacing:-.04em;margin-top:18px}
.if-site.if-document-copy .if-benefit .if-benefit-titolo{font-size:clamp(1.65rem,2.5vw,2.2rem);line-height:1.1;min-height:2.2em;margin:0 0 20px;font-weight:400;letter-spacing:-.025em;color:inherit;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.if-site.if-document-copy .if-benefit .if-benefit-testo{margin:0 0 30px;font-size:1rem;line-height:1.5;color:#c9c7d2;max-width:30ch}
.if-site .detail-hero-foto{border-radius:30px;overflow:hidden}.if-site .detail-hero-foto img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 35%;border-radius:30px}
/* Pannelli sticky con foto propria: velo scuro leggermente piu' chiaro (23/9) */
.if-site .if-service--foto:before{display:none}
.if-site .if-service-foto{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center;display:block;margin:0;border-radius:0}
.if-site .if-service--foto:after{background:linear-gradient(90deg,#0e0d14cc 0%,#0e0d1499 45%,#0e0d144d 100%)}
/* Chiusura di pagina: solo la pillola centrata, con molta aria */
html .if-site .closing--solo{background:transparent;color:inherit;margin:0;padding:120px 0 120px}.if-site .closing--solo .wrap{display:flex;justify-content:center}.if-site .closing--solo .if-button{font-size:1.125rem}
/* Varianti: punti di partenza, fasi, pannello in evidenza, FAQ */
.if-site .if-punti{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;padding:96px 0 32px;align-items:start}
.if-site .if-punti-statement{font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.18;letter-spacing:-.03em;margin:22px 0 0;max-width:20ch;color:var(--ink)}
.if-site .if-punti-lista{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.if-site .if-punti-lista li{display:flex;gap:12px;align-items:flex-start;font-size:1.0625rem;line-height:1.4;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.if-site .if-punti-lista .ui-icon{width:22px;height:22px;flex:none;color:var(--accent-ink);margin-top:1px}
.if-site .if-fasi{padding:80px 0 32px}.if-site .if-fasi h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em;line-height:1.1;margin:18px 0 0;font-weight:400}.if-site .if-fasi-intro{margin:16px 0 0;color:var(--muted);max-width:60ch}
.if-site .if-fasi-lista{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:32px;position:relative;counter-reset:none}
.if-site .if-fasi-lista:before{content:"";position:absolute;left:22px;right:22px;top:22px;height:1px;background:var(--line)}
.if-site .if-fasi-lista li{position:relative;padding-top:66px;margin:0}
.if-site .if-fasi-n{position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;background:var(--paper);border:1px solid var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:.875rem;font-weight:500;letter-spacing:.02em}
.if-site .if-fasi-lista h3{font-size:1.25rem;line-height:1.2;margin:0 0 10px;font-weight:500;letter-spacing:-.01em}.if-site .if-fasi-lista p{font-size:.9375rem;line-height:1.5;color:var(--muted);margin:0}
.if-site .if-evidenza{background:#131316;color:#fff;border-radius:30px;padding:64px;margin:64px 0 16px}.if-site .if-evidenza .if-label{border-color:#5d5b66;color:#c9c7d2}
.if-site .if-evidenza h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em;line-height:1.1;margin:22px 0 22px;font-weight:400;color:#fff}
.if-site .if-evidenza p{font-size:1.125rem;line-height:1.5;color:#dcdae3;max-width:62ch;margin:0 0 12px}.if-site .if-evidenza .if-document-actions{margin-top:26px}.if-site .if-evidenza .if-link{color:#fff}
html[data-theme=dark] body.if-site .if-evidenza{background:#2a2a2f}
.if-site .if-faq{padding:64px 0 24px}.if-site .if-faq h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em;line-height:1.1;margin:18px 0 0;font-weight:400}.if-site .if-faq-intro{margin:16px 0 0;color:var(--muted);max-width:60ch}
.if-site .if-faq-lista{margin-top:36px;max-width:880px}.if-site .if-faq-voce{border-top:1px solid var(--line)}.if-site .if-faq-voce:last-child{border-bottom:1px solid var(--line)}
.if-site .if-faq-voce summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:1.25rem;line-height:1.3;color:var(--ink);transition:color .2s}.if-site .if-faq-voce summary::-webkit-details-marker{display:none}.if-site .if-faq-voce summary:hover{color:var(--accent-ink)}
.if-site .if-faq-voce summary .ui-icon{width:24px;height:24px;flex:none;color:var(--accent-ink);transition:transform .3s cubic-bezier(.2,.7,.2,1)}.if-site .if-faq-voce[open] summary .ui-icon{transform:rotate(45deg)}
.if-site .if-faq-risposta{padding:0 48px 26px 0;color:var(--muted);font-size:1.0625rem;line-height:1.55;max-width:70ch}.if-site .if-faq-risposta p{margin:0 0 10px}
/* Tema scuro antracite */
html[data-theme=dark] body.if-site{--paper:#202124;--white:#2a2a2f;--soft:#2a2a2f;--line:#3f3f45;--muted:#bcbac2}
html[data-theme=dark] body.if-site .if-vision{background:transparent}html[data-theme=dark] body.if-site .if-benefit{background:#2c2c31}
html[data-theme=dark] body.if-site.if-document-copy .if-benefit{background:#2a2a2f;border-color:#47464e}
html[data-theme=dark] body.if-site .if-benefit .ux-benefit-icon{background:#332d45;border-color:#4a4066}
html[data-theme=dark] body.if-site .header,html[data-theme=dark] body.if-site .ux-header,html[data-theme=dark] body.if-site .main-nav,html[data-theme=dark] body.if-site .ux-menu-panel{background:var(--paper)}
html[data-theme=dark] body.if-site .if-step{background:#2a2a2f}html[data-theme=dark] body.if-site .if-product-strip>a{background:#26262a}
html[data-theme=dark] body.if-site .if-conversation{background:transparent}html[data-theme=dark] body.if-site .closing{background:#26262a}html[data-theme=dark] body.if-site .closing--solo{background:transparent}
/* Hero della home: schermata intera, freccia in fondo */
.if-site.if-home.if-document-copy .if-hero{display:flex;flex-direction:column;align-items:center;height:auto;min-height:calc(100svh - 96px);padding:132px 30px 0}
.if-site.if-home .if-hero .if-hero-title{width:100%;margin-bottom:48px}
.if-site.if-home .if-hero .if-down{margin:auto auto 64px;flex:none}
/* Testata interna: schermata intera, testi in alto, bottone e freccia in fondo con aria */
.if-site.if-detail .if-hero--interna{height:auto;min-height:0;padding:0 30px;text-align:center}
.if-site.if-detail .if-hero-schermo{display:flex;flex-direction:column;align-items:center;min-height:calc(100svh - 96px);padding-top:clamp(76px,5.3vw,102px)}
.if-site.if-detail .if-hero--interna .if-hero-title{display:flex;flex-direction:column;align-items:center;flex:1 1 auto;max-width:1280px;width:100%;margin-bottom:0}
.if-site.if-detail .if-hero--interna h1{font-size:clamp(2.75rem,4.2vw,5rem);line-height:1.07;letter-spacing:-.045em;margin:clamp(30px,2.08vw,40px) auto 0;text-wrap:balance}
.if-site.if-detail .if-hero--interna h1 em{font-style:normal;font-weight:400;color:var(--accent-ink)}
.if-site.if-detail .if-hero--interna .if-hero-testo{font-size:clamp(1.125rem,1.25vw,1.5rem);line-height:1.5;max-width:1100px;margin:clamp(24px,1.67vw,32px) auto 0;color:var(--ink)}
.if-site.if-detail .if-hero--interna .if-document-actions{justify-content:center;margin-top:auto;padding-top:clamp(56px,3.54vw,68px)}
.if-site.if-detail .if-hero--interna .if-down{margin:clamp(56px,3.85vw,74px) auto clamp(72px,5.15vw,99px);flex:none}
.if-site.if-detail .if-ancora{display:block;height:0;scroll-margin-top:96px}
.if-site.if-detail .if-hero--interna .detail-hero-foto{margin-top:clamp(64px,4.7vw,91px)}
.if-site.if-detail .if-hero--interna+.reading-layout{padding-top:100px}
.if-site.if-detail .if-hero--senza-foto+.reading-layout{padding-top:clamp(64px,4.7vw,91px)}
/* Testata compatta (Contatti): niente schermata intera, il contenuto sale */
.if-site.if-detail .if-hero--compatta .if-hero-schermo{min-height:0;padding-top:clamp(56px,4.2vw,80px)}
.if-site.if-detail .if-hero--compatta .if-hero-title{flex:none}
.if-site.if-detail .if-hero--compatta+.contact-section{padding-top:clamp(40px,3.5vw,64px)}
/* Approfondimenti (22/9): testata compatta degli articoli con la foto a distanza ridotta, card con categoria e data sopra il titolo */
.if-site.if-detail .if-hero--compatta .detail-hero-foto{margin-top:clamp(40px,3.2vw,56px)}
.if-site.if-detail .if-hero--compatta+.reading-layout{padding-top:clamp(56px,4.5vw,80px)}
.if-site.if-detail .catalog-card-testa--articolo{flex-direction:column;align-items:flex-start;gap:14px}
.if-site.if-detail .catalog-card-testa--articolo .if-label{font-size:.75rem}
.if-site .reading-figure{margin:0;padding:8px 0 44px}.if-site .reading-figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:30px}.if-site .reading-figure figcaption{margin-top:14px;font-size:.875rem;line-height:1.45;color:var(--muted)}
/* Articoli (23/9): impaginazione da articolo — colonna unica centrata, niente indice laterale ne' numeri di sezione */
.if-site.if-detail .reading-layout.reading-layout--articolo{display:block;grid-template-columns:none;max-width:820px;margin-inline:auto}
.if-site.if-detail .reading-layout--articolo .reading-content{width:100%;max-width:none;margin:0;padding:0}
.if-site.if-detail .reading-layout--articolo .reading-section{display:block;grid-template-columns:none;padding:0 0 40px;margin:0;border:0;min-height:0}
.if-site.if-detail .reading-layout--articolo .reading-section h2{font-size:clamp(1.6rem,2.2vw,2.125rem);line-height:1.2;letter-spacing:-.03em;font-weight:400;margin:0 0 18px;max-width:none}
.if-site.if-detail .reading-layout--articolo .body-copy{font-size:1.1875rem;line-height:1.7;color:var(--ink);max-width:none}
.if-site.if-detail .reading-layout--articolo .body-copy p{margin:0 0 1.1em;max-width:none}.if-site.if-detail .reading-layout--articolo .body-copy p:last-child{margin-bottom:0}
.if-site.if-detail .reading-layout--articolo .reading-figure{padding:16px 0 48px}
.if-site.if-detail .reading-layout--articolo+.closing--solo{padding-top:56px}
.if-site.if-detail .if-hero--compatta:has(+.reading-layout--articolo) .if-hero-testo{max-width:780px}
/* Archivio prodotti: card con foto, sfondo visibile, molta aria fra le card */
.if-site.if-detail .catalog-group{padding-block:56px 120px}.if-site.if-detail .catalog-grid{gap:104px 80px}
.if-site.if-detail .catalog-card--foto{padding:0;overflow:hidden;background:#f1f1f4;border:1px solid #e3e2e8;box-shadow:0 8px 28px #0000000a;border-radius:30px}
.if-site.if-detail .catalog-card-foto{width:100%;overflow:hidden}.if-site.if-detail .catalog-card-foto img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.if-site.if-detail .catalog-card-testa{display:flex;align-items:center;gap:16px;margin:26px 32px 0}.if-site.if-detail .catalog-card-testa h2{margin:0;font-size:1.75rem;line-height:1.1;letter-spacing:-.03em;color:var(--ink);transition:color .3s}
.if-site.if-detail .catalog-card-testa .ui-icon-badge{background:#fff;border-color:#dcdbe3}
.if-site.if-detail .catalog-card--foto .body-copy{margin:14px 32px 0;font-size:1rem;flex:1;color:var(--muted)}.if-site.if-detail .catalog-card--foto>.if-link{margin:20px 32px 30px;font-size:1rem}
.if-site.if-detail .catalog-card--foto:hover{border-color:var(--accent);box-shadow:0 18px 44px #603ee11f}.if-site.if-detail .catalog-card--foto:hover .catalog-card-foto img{transform:scale(1.05)}.if-site.if-detail .catalog-card--foto:hover h2{color:var(--accent-ink)}.if-site.if-detail .catalog-card--foto:hover .if-link svg{transform:translateX(6px)}
html[data-theme=dark] .if-site.if-detail .catalog-card--foto{background:#2c2c31;border-color:#45444c;box-shadow:0 8px 28px #00000040}html[data-theme=dark] .if-site.if-detail .catalog-card-testa .ui-icon-badge{background:#202124;border-color:#4e4d56}
/* Contatti a due colonne */
.if-site.if-detail .contact-section{padding-block:40px 110px}.if-site.if-detail .contact-layout{gap:80px}
.if-site.if-detail .contact-aside h2{font-size:clamp(1.9rem,2.6vw,2.5rem);margin-block:20px 26px;font-weight:400}.if-site.if-detail .contact-aside>p{color:var(--muted);margin-bottom:20px}
.if-site.if-detail .contact-locations{margin-top:36px;grid-template-columns:1fr;gap:26px}.if-site.if-detail .contact-locations strong{display:block;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:8px}.if-site.if-detail .contact-locations p{margin:0 0 6px;font-size:1.0625rem;color:var(--ink)}.if-site.if-detail .contact-locations a{color:var(--accent-ink)}.if-site.if-detail .contact-locations a:hover{text-decoration:underline;text-underline-offset:4px}
.if-site.if-detail .contact-canali{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.if-site.if-detail .contact-canali a{display:inline-flex;align-items:center;gap:9px;font-size:1rem;font-weight:500;color:var(--ink);transition:color .2s}.if-site.if-detail .contact-canali a:hover{color:var(--accent-ink)}.if-site.if-detail .contact-canali .ui-icon{width:20px;height:20px;color:var(--accent-ink)}
.if-site.if-detail .contact-form{padding:38px;gap:22px 20px}.if-site.if-detail .contact-form h2{font-size:1.75rem;font-weight:400;margin-bottom:6px}
/* Modulo FORM incorporato: rivestito con il CSS del sito */
.if-site.if-detail .contact-form--embed{display:block}.if-site.if-detail .contact-form--embed h2{margin-bottom:22px}
.if-site.if-detail .contact-form--embed .t99-form{font-family:inherit;font-size:1rem;line-height:1.5;color:var(--ink);background:transparent}
.if-site.if-detail .contact-form--embed .t99-form__griglia{margin:0 -10px}.if-site.if-detail .contact-form--embed .t99-form__campo{padding:0 10px;margin-bottom:22px}
.if-site.if-detail .contact-form--embed .t99-form__label{font-size:.875rem;font-weight:400;color:var(--ink);margin:0 0 8px}.if-site.if-detail .contact-form--embed .t99-form__label .t99-form__req{color:var(--accent-ink)}
.if-site.if-detail .contact-form--embed .t99-form__desc{font-size:.8125rem;color:var(--muted);opacity:1;margin:-4px 0 8px}
.if-site.if-detail .contact-form--embed .t99-form__input,.if-site.if-detail .contact-form--embed .t99-form__select,.if-site.if-detail .contact-form--embed .t99-form__textarea{height:52px;padding:14px;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.if-site.if-detail .contact-form--embed .t99-form__textarea{height:auto;min-height:140px}
.if-site.if-detail .contact-form--embed .t99-form__input:focus,.if-site.if-detail .contact-form--embed .t99-form__select:focus,.if-site.if-detail .contact-form--embed .t99-form__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #613ee226}
.if-site.if-detail .contact-form--embed .t99-form__campo--errore .t99-form__input,.if-site.if-detail .contact-form--embed .t99-form__campo--errore .t99-form__select,.if-site.if-detail .contact-form--embed .t99-form__campo--errore .t99-form__textarea{border-color:#c0392b}
.if-site.if-detail .contact-form--embed .t99-form__errore{font-size:.8125rem;margin-top:6px}
.if-site.if-detail .contact-form--embed .t99-form__scelta,.if-site.if-detail .contact-form--embed .t99-form__consenso{font-size:.875rem;line-height:1.45;color:var(--muted);gap:10px}
.if-site.if-detail .contact-form--embed .t99-form__consenso input,.if-site.if-detail .contact-form--embed .t99-form__scelta input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.if-site.if-detail .contact-form--embed .t99-form__consenso a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.if-site.if-detail .contact-form--embed .t99-form__sezione h3{font-size:1.125rem;font-weight:500;color:var(--ink)}.if-site.if-detail .contact-form--embed .t99-form__sezione p{color:var(--muted);opacity:1}
.if-site.if-detail .contact-form--embed .t99-form__bottone{height:auto;padding:16px 28px;font:inherit;font-size:1rem;font-weight:500;color:#fff;background:var(--accent);border:0;border-radius:999px;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s}
.if-site.if-detail .contact-form--embed .t99-form__bottone:hover{filter:none;transform:translateY(-2px);box-shadow:0 10px 24px #603ee133}.if-site.if-detail .contact-form--embed .t99-form__bottone[disabled]{opacity:.55;transform:none;box-shadow:none;cursor:not-allowed}
.if-site.if-detail .contact-form--embed .t99-form__esito{margin-top:8px;padding:16px 18px;border-radius:14px;font-size:1rem}.if-site.if-detail .contact-form--embed .t99-form__esito--ok{background:#e9f1ec;color:#1c5a34}.if-site.if-detail .contact-form--embed .t99-form__esito--errore{background:#fbeae8;color:#9c3428}
.if-site.if-detail .contact-form--embed .t99-form__avviso{border-radius:14px;background:var(--paper);color:var(--muted)}
html[data-theme=dark] .if-site.if-detail .contact-form--embed .t99-form__input,html[data-theme=dark] .if-site.if-detail .contact-form--embed .t99-form__select,html[data-theme=dark] .if-site.if-detail .contact-form--embed .t99-form__textarea{background:#202124;border-color:#4a494f;color:#fff}
html[data-theme=dark] .if-site.if-detail .contact-form--embed .t99-form__esito--ok{background:#1f3a2a;color:#bfe6cc}html[data-theme=dark] .if-site.if-detail .contact-form--embed .t99-form__esito--errore{background:#432523;color:#f3c2bb}
.if-site.if-detail .contact-form label{font-size:.875rem;color:var(--ink)}.if-site.if-detail .contact-form input,.if-site.if-detail .contact-form select,.if-site.if-detail .contact-form textarea{background:var(--paper);border-color:var(--line);padding:14px 14px}.if-site.if-detail .contact-form textarea{min-height:140px}
.if-site.if-detail .field-consenso label{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;color:var(--muted);line-height:1.45}.if-site.if-detail .field-consenso input{width:18px;height:18px;margin-top:2px;flex:none;padding:0}.if-site.if-detail .field-consenso a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.if-site.if-detail .contact-form .form-info{font-size:.8125rem;color:var(--muted)}.if-site.if-detail .contact-form .btn[disabled]{opacity:.55;cursor:not-allowed}
html .if-site.if-detail .contact-form .btn[disabled]:hover{transform:none;box-shadow:none}
/* Card nere della home: movimento all'hover */
.if-site.if-document-copy .if-benefit{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.if-site.if-document-copy .if-benefit .ux-benefit-icon{transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s,border-color .3s}
.if-site.if-document-copy .if-benefit .if-link svg{transition:transform .3s}
@media(hover:hover){.if-site.if-document-copy .if-benefit:hover{transform:translateY(-8px);border-color:#b39bff;box-shadow:0 22px 48px #00000024}.if-site.if-document-copy .if-benefit:hover .ux-benefit-icon{transform:translateY(-6px) rotate(-6deg);background:#3d3260;border-color:#7a66c4}.if-site.if-document-copy .if-benefit:hover .if-benefit-titolo{transform:translateX(4px)}.if-site.if-document-copy .if-benefit:hover .if-link svg{transform:translateX(6px)}}
/* Footer */
.if-site .if-footer{padding-block:72px 28px;border-top:1px solid var(--line)}
.if-site .if-footer-griglia{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr 1.15fr;gap:40px;padding-bottom:44px}
.if-site .if-footer-marchio .logo{width:175px}.if-site .if-footer-marchio>p{margin:18px 0 0;max-width:34ch;font-size:.9375rem;line-height:1.5;color:var(--muted)}.if-site .if-footer-marchio>p a{color:var(--ink);transition:color .2s}.if-site .if-footer-marchio>p a:hover{color:var(--accent-ink)}
.if-site .if-footer-marchio .if-footer-team99{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.9375rem;font-weight:500;color:var(--accent-ink);transition:color .2s,transform .2s}.if-site .if-footer-marchio .if-footer-team99 svg{width:18px;height:18px;transition:transform .25s}.if-site .if-footer-marchio .if-footer-team99:hover svg{transform:translateX(4px)}
.if-site .if-footer h2{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;font-weight:500;color:var(--muted);margin:0 0 14px;line-height:1.4}
.if-site .if-footer-col a{display:inline-block;font-size:1rem;line-height:1.4;padding:5px 0;color:var(--ink);transition:color .2s,transform .2s}.if-site .if-footer-col nav a{display:block}.if-site .if-footer-col a:hover{color:var(--accent-ink);transform:translateX(3px)}
.if-site .if-footer-col p{font-size:1rem;line-height:1.5;margin:0 0 4px;color:var(--ink)}
.if-site .if-footer-canali{list-style:none;margin:0;padding:26px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 40px;font-size:.9375rem}
.if-site .if-footer-canali li{display:flex;gap:10px;align-items:baseline}.if-site .if-footer-canali span{color:var(--muted)}.if-site .if-footer-canali a{color:var(--ink);transition:color .2s}.if-site .if-footer-canali a:hover{color:var(--accent-ink)}
/* Nota AI Act (28/9): immagini generate con AI, sopra la riga legale */
.if-site .if-footer .if-footer-ai{margin:0;padding:0 0 22px;font-size:.8125rem;line-height:1.5;color:var(--muted)}
.if-site .if-footer .if-footer-bottom{border-top:1px solid var(--line);display:flex;gap:14px 28px;flex-wrap:wrap;align-items:center;padding-top:24px;font-size:.8125rem;color:var(--muted)}.if-site .if-footer .if-footer-bottom>span{margin-right:auto}.if-site .if-footer .if-footer-bottom a{transition:color .2s}.if-site .if-footer .if-footer-bottom>span a{color:inherit;text-decoration:underline;text-underline-offset:3px}.if-site .if-footer .if-footer-bottom>span a:hover{color:var(--accent-ink)}
/* Parliamone: link con freccia davanti, staccato dal menu */
.if-site .page-index>.if-link{margin-top:36px;flex-direction:row-reverse;justify-content:flex-end;font-size:1.125rem}
/* Hover con movimento */
html .if-site a.btn,html .if-site .if-button{transition:transform .2s,box-shadow .2s,background .2s,color .2s}html .if-site a.btn:hover,html .if-site .if-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #603ee133}
.if-site .btn svg{transition:transform .25s}.if-site .btn:hover svg{transform:translateX(5px)}
.if-site .if-step,.if-site .catalog-card{transition:transform .25s,box-shadow .25s,border-color .25s}.if-site .if-step:hover,.if-site .catalog-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000000a}
.if-site .if-product-strip>a{transition:transform .2s,border-color .2s,background .2s}.if-site .if-product-strip>a:hover{transform:translateY(-2px)}
.if-site .page-index nav a{transition:background .2s,color .2s,border-color .2s,transform .2s}.if-site .page-index nav a:hover{transform:translateX(4px)}
.if-site .theme-toggle svg{transition:transform .35s}.if-site .theme-toggle:hover svg{transform:rotate(25deg)}
.if-site .ux-menu-link{transition:background .2s,color .2s,transform .2s}.if-site .ux-menu-link:hover{transform:translateX(3px)}
.if-site .detail-hero-foto img,.if-site .reading-figure img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.if-site .reading-figure{overflow:hidden;border-radius:30px}
/* Card progetto (home "Esempi di utilizzo"): tutta la card reagisce */
.js .if-site .if-project.in-vista{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.js .if-site .if-project.in-vista:hover{transform:translateY(-8px)}
.if-site .if-project-image{transition:box-shadow .4s cubic-bezier(.2,.7,.2,1)}.if-site .if-project:hover .if-project-image{box-shadow:0 24px 48px #00000018}
.if-site .if-project-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.js .if-site .if-project.in-vista:hover .if-project-image img{transform:scale(1.06)}
.if-site .if-project-image>span,.if-site .if-project-image>svg{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.if-site .if-project:hover .if-project-image>span{transform:translateX(5px)}.if-site .if-project:hover .if-project-image>svg{transform:translate(5px,-5px)}
.if-site .if-project-copy h3{transition:color .3s}.if-site .if-project:hover .if-project-copy h3{color:var(--accent-ink)}.if-site .if-project:hover .if-project-copy .if-link svg{transform:translateX(6px)}
/* Ingressi animati */
.js .if-site .anima-entra{opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.js .if-site .anima-entra.in-vista{opacity:1;transform:none}
.js .if-site .if-benefit.in-vista{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.js .if-site .detail-hero-foto.anima-entra img,.js .if-site .reading-figure.anima-entra img,.js .if-site .if-project.anima-entra img{transform:scale(1.05)}
.js .if-site .anima-entra.in-vista img{transform:none}
.js .if-site .detail-hero-foto.in-vista img:hover,.js .if-site .reading-figure.in-vista img:hover{transform:scale(1.025)}
.js .if-site .catalog-card.in-vista{transition:transform .25s,box-shadow .25s,border-color .25s}.js .if-site .catalog-card.in-vista:hover{transform:translateY(-4px)}.js .if-site.if-detail .catalog-card--foto.in-vista:hover .catalog-card-foto img{transform:scale(1.05)}
@media(hover:hover){.js .if-site.if-document-copy .if-benefit.in-vista:hover{transform:translateY(-8px)}}
@media(max-width:1100px){.if-site.if-home.if-document-copy .if-hero{padding-top:130px}.if-site .if-footer-griglia{grid-template-columns:repeat(4,1fr);gap:36px 28px}.if-site .if-footer-marchio{grid-column:1/-1}.if-site .if-footer-marchio>p{max-width:60ch}.if-site.if-detail .contact-layout{gap:48px}.if-site .if-punti{gap:44px}.if-site .if-fasi-lista{grid-template-columns:repeat(3,1fr);gap:40px 28px}.if-site .if-fasi-lista:before{display:none}.if-site.if-detail .catalog-grid{gap:72px 48px}}
@media(max-width:760px){.if-site .detail-hero-foto{border-radius:24px}.if-site .detail-hero-foto img{aspect-ratio:4/3;border-radius:24px}.if-site .reading-figure,.if-site .reading-figure img{border-radius:24px}.if-site.if-home.if-document-copy .if-hero{min-height:calc(100svh - 80px);padding:110px 18px 0}.if-site.if-home .if-hero .if-hero-title{margin-bottom:32px}.if-site.if-home .if-hero .if-down{margin:auto auto 40px}.if-site.if-document-copy .if-benefit .if-benefit-titolo{font-size:2rem;min-height:0}.if-site .if-service--foto:after{background:linear-gradient(180deg,#0e0d14cc 0%,#0e0d1499 60%,#0e0d1466 100%)}html .if-site .closing--solo{padding:72px 0 72px}.if-site .if-punti{grid-template-columns:1fr;gap:28px;padding:56px 0 20px}.if-site .if-punti-lista{grid-template-columns:1fr;gap:0}.if-site .if-fasi{padding:52px 0 20px}.if-site .if-fasi-lista{grid-template-columns:1fr;gap:6px;margin-top:32px}.if-site .if-fasi-lista:before{display:block;left:22px;right:auto;top:22px;bottom:22px;width:1px;height:auto}.if-site .if-fasi-lista li{padding:8px 0 22px 64px}.if-site .if-evidenza{padding:36px 24px;border-radius:24px;margin:40px 0 8px}.if-site .if-faq{padding:44px 0 16px}.if-site .if-faq-voce summary{font-size:1.0625rem;padding:18px 0}.if-site .if-faq-risposta{padding-right:0;font-size:1rem}.if-site.if-detail .if-hero--interna{padding:0 18px}.if-site.if-detail .if-hero-schermo{min-height:calc(100svh - 80px);padding-top:56px}.if-site.if-detail .if-hero--compatta .if-hero-schermo{min-height:0;padding-top:40px}.if-site.if-detail .if-hero--compatta+.contact-section{padding-top:28px}.if-site.if-detail .if-hero--interna h1{font-size:clamp(2.1rem,8vw,2.8rem);margin-top:24px}.if-site.if-detail .if-hero--interna .if-hero-testo{margin-top:24px}.if-site.if-detail .if-hero--interna .if-document-actions{padding-top:40px}.if-site.if-detail .if-hero--interna .if-down{margin:40px auto 56px}.if-site.if-detail .if-ancora{scroll-margin-top:80px}.if-site.if-detail .if-hero--interna .detail-hero-foto{margin-top:40px}.if-site.if-detail .if-hero--interna+.reading-layout{padding-top:50px}.if-site.if-detail .if-hero--senza-foto+.reading-layout{padding-top:40px}.if-site .page-index>.if-link{margin-top:16px}.if-site.if-detail .catalog-group{padding-block:24px 70px}.if-site.if-detail .catalog-grid{gap:48px}.if-site.if-detail .catalog-card--foto{border-radius:24px}.if-site.if-detail .catalog-card-testa{margin:20px 22px 0}.if-site.if-detail .catalog-card--foto .body-copy{margin:12px 22px 0}.if-site.if-detail .catalog-card--foto>.if-link{margin:16px 22px 24px}.if-site.if-detail .contact-section{padding-block:20px 60px}.if-site.if-detail .contact-aside{display:block}.if-site.if-detail .contact-locations{margin-top:24px}.if-site.if-detail .contact-form{padding:26px 20px;margin-inline:0}.if-site .if-footer{padding-top:52px}.if-site .if-footer-griglia{grid-template-columns:1fr 1fr;gap:32px 20px;padding-bottom:32px}.if-site .if-footer-marchio .logo{width:150px}.if-site .if-footer-canali{flex-direction:column;gap:10px;padding:22px 0}.if-site .if-footer .if-footer-bottom{gap:10px 22px}.if-site .if-footer .if-footer-bottom>span{width:100%}.if-site.if-detail .reading-layout--articolo .reading-section{padding-bottom:32px}.if-site.if-detail .reading-layout--articolo .reading-section h2{font-size:1.5rem;margin-bottom:14px}.if-site.if-detail .reading-layout--articolo .body-copy{font-size:1.0625rem;line-height:1.65}.if-site.if-detail .reading-layout--articolo+.closing--solo{padding-top:32px}}
@media(prefers-reduced-motion:reduce){.js .if-site .anima-entra{opacity:1;transform:none}.js .if-site .anima-entra img{transform:none}}
.if-detail .reading-section--solo{padding-block:36px 48px}.if-detail .detail-hero+.reading-section--solo{border-top:0;padding-top:70px}.if-detail .reading-section--solo:has(+.closing){padding-bottom:90px}.if-detail .wrap.reading-section--solo{position:relative}
