@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/plus-jakarta-sans-latin.woff2) format("woff2")}

/* Font ospitato sul sito (nessuna richiesta a Google: niente IP dei visitatori a terzi) — licenza SIL OFL */
/* Sito B2B a tema chiaro unico: sezioni a tutta larghezza, colonna 1240px, fucsia TSGM come colore d'azione, inchiostro per le fasce numeri */
.tx{
  --ink:#1d1719; --ink2:#3a3034; --muted:#6c6064; --line:#efe1e4; --paper:#ffffff;
  --accent:#F40061; --accent-dk:#c7004f; --accent-soft:#fde8f0; --blush:#f6cbd8;
  --cream:#fff8f7; --sand:#f8e9e3; --on-ink:#f4e9ec; --on-ink-muted:#bfb1b6;
  --font:"Plus Jakarta Sans",-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif;
  --r:22px; 
}
body:has(.tx){background:var(--paper);color:var(--ink);font-family:var(--font);margin:0}
.tx{font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
.tx *{box-sizing:border-box}.tx p{margin:0 0 1em}
.tx h1,.tx h2,.tx h3,.tx h4{margin:0 0 .5em;line-height:1.1;letter-spacing:-.025em;font-weight:800;text-wrap:balance;color:inherit}
.tx h1{font-size:clamp(2.3rem,4.4vw,3.9rem)}.tx h2{font-size:clamp(1.8rem,3.1vw,2.7rem)}.tx h3{font-size:1.2rem;letter-spacing:-.015em;font-weight:700}
.tx a{color:inherit}.tx img{display:block;max-width:100%;height:auto}
.tx .wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.tx .sec{padding:clamp(64px,8vw,112px) 0}.tx .sec.tight{padding:clamp(40px,5vw,64px) 0}
.tx .bg-cream{background:var(--cream)}.tx .bg-sand{background:var(--sand)}.tx .bg-ink{background:var(--ink);color:var(--on-ink)}
.tx .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.tx .eyebrow:before{content:"";width:26px;height:3px;background:currentColor;border-radius:3px}
.tx .lead{font-size:clamp(1.05rem,1.35vw,1.2rem);color:var(--muted);max-width:660px}
.tx .center{text-align:center}.tx .center .lead{margin-left:auto;margin-right:auto}
.tx .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.tx .btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;font-weight:700;font-size:.97rem;text-decoration:none;border:2px solid var(--accent);background:var(--accent);color:var(--paper);line-height:1.2;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;font-family:inherit}
.tx .btn:after{content:"→";transition:transform .2s}.tx .btn:hover{background:var(--accent-dk);border-color:var(--accent-dk);transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(244,0,97,.6)}.tx .btn:hover:after{transform:translateX(4px)}
.tx .btn.dark{background:var(--ink);border-color:var(--ink)}.tx .btn.dark:hover{background:#000;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.tx .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.tx .btn.ghost:hover{background:var(--ink);color:var(--paper)}
.tx .btn.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.tx .btn.ghost-light{background:transparent;border-color:rgba(255,255,255,.7);color:var(--paper)}.tx .btn.ghost-light:hover{background:var(--paper);color:var(--ink)}
.tx .btn.sm{padding:11px 18px;font-size:.9rem}
.tx .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.tx .chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:700;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:var(--paper)}
.tx .chip i{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}
.tx .chip.onlight{background:var(--paper);border-color:var(--line);color:var(--ink2)}

/* pagine legali */
.tx .legal{max-width:820px}.tx .legal h1{font-size:clamp(2rem,3.6vw,3rem)}
.tx .legal h2{font-size:1.35rem;letter-spacing:-.015em;margin:2.2em 0 .6em}.tx .legal h3{font-size:1.05rem;margin:1.4em 0 .4em}
.tx .legal ul{padding-left:1.2em;margin:0 0 1em}.tx .legal li{margin:.3em 0}.tx .legal a{color:var(--accent-dk)}
.tx .legal .upd{color:var(--muted);font-size:.92rem}
.tx .legal table{width:100%;border-collapse:collapse;font-size:.92rem;margin:0 0 1.2em}.tx .legal th,.tx .legal td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 12px 10px 0}.tx .legal th{font-weight:800}
.tx .legal .tbl{overflow-x:auto}
.tx .todo{background:#fff4d6;border-radius:4px;padding:0 4px;font-weight:700}
.tx .privbox{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:14px;font-size:.88rem;color:var(--muted);background:var(--cream)}
.tx .privbox p{margin:0 0 .5em}.tx .privbox p:last-child{margin:0}.tx .privbox a{color:var(--accent-dk)}

/* header */
.tx .hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.tx .hd-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:80px}
.tx .hd .logo img{height:54px;width:auto}
.tx .hd-nav{display:flex;align-items:center;gap:4px}
.tx .hd-nav>a,.tx .dd>span{padding:10px 14px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;color:var(--ink2);cursor:pointer}
.tx .hd-nav>a:hover,.tx .dd:hover>span,.tx .hd-nav>a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dk)}
.tx .hd-nav>a.btn{color:var(--paper);background:var(--accent);margin-left:10px;padding:12px 20px}
.tx .dd{position:relative}.tx .dd>span:after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:8px;position:relative;top:-3px}
.tx .dd-menu{position:absolute;top:100%;left:0;min-width:300px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 24px 50px -24px rgba(29,23,25,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s}
.tx .dd:hover .dd-menu,.tx .dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.tx .dd-menu a{display:block;padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:700;color:var(--ink)}.tx .dd-menu a small{display:block;font-weight:500;color:var(--muted);font-size:.84rem}.tx .dd-menu a:hover{background:var(--accent-soft)}
.tx .hd-mob{display:none}

/* hero immagine piena */
.tx .hero{position:relative;color:var(--paper);background:var(--ink);overflow:hidden}
.tx .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tx .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,23,25,.92) 0%,rgba(29,23,25,.75) 42%,rgba(29,23,25,.15) 100%)}
.tx .hero .wrap{position:relative;z-index:2;padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(72px,10vw,140px)}
.tx .hero .lead{color:#eadfe2}.tx .hero .eyebrow{color:#ff5c9a}
.tx [hidden]{display:none!important}
.tx .hero-box{max-width:760px}
.tx .mbar{transition:transform .25s ease}.tx .mbar.off{transform:translateY(160%)}
.tx .hero-note{margin:14px 0 0;color:#fff;font-weight:700;font-size:.98rem;display:flex;gap:10px;align-items:center}.tx .hero-note:before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.tx .hero.short .wrap{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}

/* numeri */
.tx .nums{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid rgba(255,255,255,.12)}
.tx .num{padding:30px 22px 8px 0}
.tx .num b{display:block;white-space:nowrap;font-size:clamp(1.7rem,2.4vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--paper)}
.tx .num b em{font-style:normal;color:var(--accent)}
.tx .trust{margin:28px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:var(--on-ink-muted);font-size:1.02rem;max-width:860px}.tx .trust strong{color:var(--paper)}
.tx .num span{display:block;margin-top:10px;color:var(--on-ink-muted);font-size:.93rem;line-height:1.45}

.tx .grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.tx .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tx .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tx .grid2>*,.tx .grid3>*,.tx .grid4>*{min-width:0}
.tx .head{max-width:820px;margin-bottom:44px}
.tx .ph{overflow:hidden}.tx .ph img{width:100%;height:100%;object-fit:cover}

.tx .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.tx .card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(29,23,25,.35);border-color:var(--blush)}
.tx .card .ph{aspect-ratio:16/10}.tx .card .ph img{transition:transform .6s}.tx .card:hover .ph img{transform:scale(1.05)}
.tx .card .body{padding:26px;display:flex;flex-direction:column;flex:1}.tx .card p{color:var(--muted)}
.tx .card .more{margin-top:auto;font-weight:800;color:var(--accent);display:inline-flex;gap:8px}.tx .card .more:after{content:"→";transition:transform .2s}.tx .card:hover .more:after{transform:translateX(4px)}
.tx .tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}

.tx .band{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--ink);color:var(--on-ink);border-radius:var(--r);padding:26px 30px;margin-top:28px}
.tx .band p{margin:0;max-width:760px}.tx .band strong{color:var(--paper)}

.tx .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tx .tile{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3.4;display:block;text-decoration:none;color:var(--paper);cursor:pointer;border:0;padding:0;font:inherit;text-align:left;background:var(--ink)}
.tx .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.tx .tile:hover img{transform:scale(1.06)}
.tx .tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,23,25,0) 30%,rgba(29,23,25,.85))}
.tx .tile .t{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}.tx .tile h3{margin:0;font-size:1.1rem;color:var(--paper)}.tx .tile small{display:block;opacity:.85;font-weight:600}
.tx .tile .cnt{position:absolute;top:14px;left:14px;z-index:2;background:var(--accent);color:var(--paper);font-weight:800;font-size:.78rem;padding:5px 10px;border-radius:999px}

.tx .collage{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:14px;height:clamp(380px,44vw,560px)}
.tx .collage .ph{border-radius:var(--r)}.tx .collage .ph:first-child{grid-row:1/3}
.tx .check{list-style:none;padding:0;margin:20px 0 0}.tx .check li{position:relative;padding-left:34px;margin:0 0 12px;font-weight:600}
.tx .check li:before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.tx .badge{display:inline-flex;align-items:center;gap:12px;background:var(--accent-soft);color:var(--accent-dk);padding:12px 16px;border-radius:14px;font-weight:800;margin-top:18px;font-size:.95rem}
.tx .ico{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);margin-bottom:18px}.tx .ico svg{width:26px;height:26px}
.tx .svc{padding:28px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}.tx .svc p{color:var(--muted);margin:0;font-size:.97rem}

.tx .steps{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:18px;counter-reset:s}
.tx .step{position:relative;padding:26px 22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);min-width:0}
.tx .step:before{counter-increment:s;content:counter(s,decimal-leading-zero);display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--paper);font-weight:800;font-size:.9rem;margin-bottom:16px}
.tx .step p{color:var(--muted);margin:0;font-size:.95rem}
.tx .ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end}
.tx .rung{border-radius:18px 18px 6px 6px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.tx .rung:nth-child(1){height:180px;background:var(--accent-soft)}.tx .rung:nth-child(2){height:230px;background:var(--blush)}.tx .rung:nth-child(3){height:280px;background:#f47aa6;color:var(--paper)}.tx .rung:nth-child(4){height:330px;background:var(--accent);color:var(--paper)}
.tx .rung .qty{display:inline-block;align-self:flex-start;font-weight:800;font-size:.8rem;letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.75);color:var(--accent-dk);margin-bottom:10px}
.tx .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tx .case{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r);padding:26px;min-width:0}
.tx .case h3{margin:4px 0 14px}.tx .case dl{margin:0}.tx .case dt{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:12px}.tx .case dd{margin:4px 0 0;color:var(--ink2)}
@media(max-width:980px){.tx .cases{grid-template-columns:1fr}}
.tx .rung h3{font-size:1.08rem;margin-bottom:6px}.tx .rung p{margin:0;font-size:.92rem;opacity:.9}
.tx .cta{position:relative;overflow:hidden;border-radius:32px;padding:clamp(40px,6vw,80px);background:linear-gradient(120deg,var(--ink) 0%,#3d1426 55%,var(--accent-dk) 130%);color:var(--on-ink)}
.tx .cta h2{color:var(--paper);max-width:660px}.tx .cta p{max-width:560px}.tx .cta .eyebrow{color:#ff7aad}

.tx .pain{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tx .pain div{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:20px 22px;font-weight:800}
.tx .pain span{display:block;font-weight:500;color:var(--muted);font-size:.93rem;margin-top:6px}
.tx .faq details{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:0 24px;margin-bottom:12px}
.tx .faq details[open]{box-shadow:0 18px 40px -26px rgba(29,23,25,.4)}
.tx .faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:800;position:relative}.tx .faq summary::-webkit-details-marker{display:none}
.tx .faq summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;font-size:1.3rem;color:var(--accent);transition:transform .2s}
.tx .faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.tx .faq details p{color:var(--muted);padding-bottom:20px;margin:0}
.tx .gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}.tx .gallery .ph{border-radius:18px}.tx .gallery .big{grid-column:span 2;grid-row:span 2}.tx .gallery .tall{grid-row:span 2}
.tx .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tx .tl{border-top:3px solid var(--accent);padding-top:18px}.tx .tl b{display:block;font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--accent)}.tx .tl p{color:var(--muted);margin:6px 0 0}
.tx .compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tx .compare>div{border-radius:var(--r);padding:28px;border:1px solid var(--line);background:var(--paper)}.tx .compare>div:first-child{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.tx .note{background:var(--accent-soft);border-radius:var(--r);padding:24px 28px;color:var(--ink2)}.tx .note strong{color:var(--accent-dk)}

/* catalogo */
.tx .pers{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.tx .pers div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}.tx .pers b{display:block;margin-bottom:6px}.tx .pers span{color:var(--muted);font-size:.9rem;line-height:1.45;display:block}
.tx .filt{position:sticky;top:calc(80px + env(safe-area-inset-top,0px));z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.tx .filt .wrap{display:flex;gap:12px;align-items:center;padding-top:12px;padding-bottom:12px}
.tx .fchips{display:flex;gap:8px;overflow-x:auto;flex:1;padding-bottom:2px;min-width:0}
.tx .fchip{flex:0 0 auto;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;color:var(--ink2);white-space:nowrap}
.tx .fchip[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.tx .fchip span{opacity:.6;margin-left:4px}
.tx .search{flex:0 0 260px;height:44px;border:1px solid var(--line);border-radius:999px;padding:0 18px;font:inherit;font-size:.95rem;background:var(--cream)}
.tx .search:focus{outline:2px solid var(--accent);outline-offset:1px}
.tx .catsec{margin-bottom:64px}
.tx .cathead{position:relative;display:flex;align-items:flex-end;height:clamp(200px,20vw,240px);border-radius:var(--r);overflow:hidden;background:var(--ink);margin-bottom:22px}
.tx .cathead img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tx .cathead:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,23,25,.9) 0%,rgba(29,23,25,.6) 45%,rgba(29,23,25,.08) 100%)}
.tx .cathead .txt{position:relative;z-index:2;padding:26px 32px;max-width:640px;color:var(--paper)}
.tx .cathead h2{color:var(--paper);margin:2px 0 6px}.tx .cathead .tag{color:#ff7aad;margin:0}.tx .cathead p{color:#eadfe2;margin:0;font-size:1.02rem}
.tx .prods{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tx .prod{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,box-shadow .2s;min-width:0}
.tx .prod:hover{border-color:var(--blush);box-shadow:0 18px 40px -26px rgba(29,23,25,.35)}
.tx .prod h3{margin:0}.tx .prod p{margin:0;color:var(--muted);font-size:.95rem;flex:1}
.tx .vars{display:flex;flex-wrap:wrap;gap:6px}.tx .vars span{background:var(--accent-soft);color:var(--accent-dk);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.tx .req{align-self:flex-start;border:2px solid var(--ink);background:transparent;border-radius:999px;padding:9px 16px;font:inherit;font-weight:800;font-size:.88rem;cursor:pointer;color:var(--ink)}
.tx .req:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}

/* form */
.tx .gform{grid-template-columns:1.3fr .7fr;align-items:start}
.tx .pick{display:flex;flex-direction:column;gap:8px}.tx .pick-lbl{font-weight:700;font-size:.9rem}
.tx .pick-row{display:flex;gap:8px;align-items:flex-start}.tx .ac{position:relative;flex:1;min-width:0}.tx .ac input{width:100%}
.tx .ac-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:6px;list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -20px rgba(29,23,25,.4);max-height:260px;overflow-y:auto;overscroll-behavior:contain}
.tx .ac-list li{padding:9px 12px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;font-size:.93rem}.tx .ac-list li span{color:var(--muted);font-size:.8rem;white-space:nowrap}
.tx .ac-list li:hover,.tx .ac-list li.on{background:var(--accent-soft)}.tx .pick-row .btn{flex:0 0 auto;width:auto}
.tx .chipsel{display:flex;flex-wrap:wrap;gap:6px}.tx .chipsel:empty{display:none}
.tx .pchip{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent-dk);font-weight:700;font-size:.88rem;padding:6px 6px 6px 12px;border-radius:999px}
.tx .pchip button{border:0;background:var(--paper);color:var(--accent-dk);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1}
.tx .from-prod a{color:var(--accent-dk);font-weight:700}
.tx .from-prod{background:var(--accent-soft);border:1px solid var(--blush);color:var(--ink);border-radius:14px;padding:14px 16px;margin:0 0 18px;font-size:.98rem}.tx .from-prod strong{color:var(--accent-dk)}.tx .from-prod span{display:block;color:var(--muted);font-size:.86rem;margin-top:4px}
.tx .formbox{background:var(--paper);border-radius:28px;padding:clamp(24px,4vw,44px);box-shadow:0 40px 80px -50px rgba(29,23,25,.5);border:1px solid var(--line)}
.tx .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tx .fgrid .full{grid-column:1/-1}
.tx label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.9rem;min-width:0}
.tx input,.tx select,.tx textarea{font:inherit;font-weight:500;font-size:.97rem;border:1px solid #e3d3d8;border-radius:12px;padding:12px 14px;background:var(--paper);color:var(--ink);width:100%}
.tx textarea{min-height:120px;resize:vertical}
.tx .more-info{margin-top:16px;border:1px dashed var(--line);border-radius:14px;padding:0 16px}
.tx .more-info summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--accent-dk);list-style:none}.tx .more-info summary::-webkit-details-marker{display:none}
.tx .more-info summary:before{content:"+ "}.tx .more-info[open] summary:before{content:"– "}.tx .more-info .fgrid{padding-bottom:16px}
.tx input:focus,.tx select:focus,.tx textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.tx .ok{display:none;background:#e9f7ef;border:1px solid #bfe5cf;color:#185c37;border-radius:14px;padding:16px 18px;font-weight:600;margin-top:16px}
.tx .info{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px}.tx .info h3{font-size:1.02rem;margin-bottom:6px}.tx .info p{margin:0;color:var(--muted)}.tx .info strong{color:var(--ink)}
.tx .small{font-size:.88rem;color:var(--muted)}

/* footer */
.tx .ft{background:var(--ink);color:var(--on-ink-muted);padding:72px 0 28px;font-size:.95rem}
.tx .ft a{color:var(--on-ink);text-decoration:none}.tx .ft a:hover{color:var(--paper);text-decoration:underline}
.tx .ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.tx .ft h4{color:var(--paper);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.tx .ft ul{list-style:none;padding:0;margin:0}.tx .ft li{margin:0 0 10px}
.tx .ft .flogo{background:var(--paper);display:inline-block;border-radius:14px;padding:8px 12px;margin-bottom:16px}.tx .ft .flogo img{height:44px;width:auto}
.tx .ft-bot{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:.85rem}
.tx .mbar{display:none}
.tx a:focus-visible,.tx button:focus-visible,.tx summary:focus-visible,.tx .dd>span:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

@media(max-width:1080px){.tx .nums{grid-template-columns:repeat(3,1fr)}.tx .pers{grid-template-columns:repeat(3,1fr)}.tx .tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.tx .grid2,.tx .gform,.tx .compare{grid-template-columns:1fr}.tx .cathead{height:auto;min-height:220px}.tx .cathead:after{background:linear-gradient(180deg,rgba(29,23,25,.2) 0%,rgba(29,23,25,.9) 70%)}.tx .grid3,.tx .pain,.tx .prods{grid-template-columns:1fr 1fr}.tx .grid4,.tx .steps,.tx .ladder,.tx .timeline{grid-template-columns:1fr 1fr}.tx .gallery{grid-template-columns:1fr 1fr}
.tx .hd-nav{display:none}.tx .hd-mob{display:block;position:relative}.tx .hd-mob summary{list-style:none;cursor:pointer;padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-weight:800}.tx .hd-mob summary::-webkit-details-marker{display:none}
.tx .hd-mob nav{position:absolute;right:0;top:calc(100% + 10px);width:min(86vw,340px);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:0 24px 50px -24px rgba(29,23,25,.4)}
.tx .hd-mob nav a{display:block;padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:700;color:var(--ink)}.tx .hd-mob nav a.btn{color:var(--paper);justify-content:center;margin-top:8px}
.tx .ft-grid{grid-template-columns:1fr 1fr}.tx .filt .wrap{flex-direction:column;align-items:stretch}.tx .search{flex:0 0 auto;width:100%}
.tx .hero:after{background:linear-gradient(180deg,rgba(29,23,25,.7) 0%,rgba(29,23,25,.9) 100%)}}
@media(max-width:640px){.tx{font-size:16px}.tx h1{font-size:2.05rem}.tx h2{font-size:1.65rem}.tx .wrap{padding:0 16px}.tx .grid3,.tx .grid4,.tx .steps,.tx .pain,.tx .prods,.tx .fgrid,.tx .timeline{grid-template-columns:1fr}.tx .nums{grid-template-columns:1fr 1fr}.tx .pers,.tx .tiles{grid-template-columns:1fr 1fr}
.tx .rung{height:auto!important;min-height:140px}.tx .collage{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.tx .collage .ph{aspect-ratio:4/3}.tx .collage .ph:first-child{grid-row:auto}.tx .btn{width:100%;justify-content:center}.tx .gallery{grid-auto-rows:150px}
.tx .hd-in{height:68px}.tx .hd .logo img{height:44px}.tx .filt{top:calc(68px + env(safe-area-inset-top,0px))}.tx .ft{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.tx .ft-grid{grid-template-columns:1fr}
.tx .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--accent);color:var(--paper);border-radius:999px;padding:15px 20px;justify-content:center;font-weight:800;text-decoration:none;box-shadow:0 16px 40px -12px rgba(244,0,97,.6)}}
@media(prefers-reduced-motion:reduce){.tx *{transition:none!important}}

/* --- WordPress --- */
.tx{--font:"Plus Jakarta Sans",-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif;font-family:var(--font);color:var(--ink);background:var(--paper)}
.tx h1,.tx h2,.tx h3,.tx h4{font-family:inherit}
.tx .crumbs{border-bottom:1px solid var(--line);background:var(--paper)}.tx .crumbs ol{list-style:none;margin:0;padding:12px 0;display:flex;flex-wrap:wrap;gap:6px;font-size:.86rem;color:var(--muted)}
.tx .crumbs li+li:before{content:"›";margin-right:6px;color:var(--blush)}.tx .crumbs a{color:var(--muted);text-decoration:none}.tx .crumbs a:hover{color:var(--accent-dk)}
.tx a.cathead{text-decoration:none}.tx .plist{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tx .plist a{display:inline-block;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px;font-weight:600;font-size:.9rem;text-decoration:none;color:var(--ink2)}.tx .plist a:hover{border-color:var(--accent);color:var(--accent-dk)}
.tx .catmore{font-weight:800;color:var(--accent);text-decoration:none}.tx a.fchip{text-decoration:none}
.tx a.req{text-decoration:none;display:inline-block}
.tx .relcats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.tx .relcat{display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:10px;text-decoration:none;color:var(--ink);font-weight:800}
.tx .relcat img{width:84px;height:84px;object-fit:cover;border-radius:12px}.tx .relcat small{display:block;font-weight:600;color:var(--muted)}.tx .relcat:hover{border-color:var(--accent)}
.tx .prod{scroll-margin-top:100px}.tx #modulo{scroll-margin-top:100px}
.tx .faq h2{margin-bottom:18px}
@media(max-width:980px){.tx .relcats{grid-template-columns:1fr}}
/* Contact Form 7 */
.tx .wpcf7 form .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tx .wpcf7 form .fgrid>p{margin:0;min-width:0}.tx .wpcf7 form .fgrid>p:has(.full),.tx .wpcf7 form .fgrid>.full{grid-column:1/-1}
.tx .wpcf7 br{display:none}.tx .wpcf7-form-control-wrap{display:block}
.tx .wpcf7 input[type=submit].btn{margin-top:18px;background:var(--accent);border:2px solid var(--accent);color:var(--paper);cursor:pointer}.tx .wpcf7 input[type=submit].btn:hover{background:var(--accent-dk);border-color:var(--accent-dk)}
.tx .wpcf7-not-valid-tip{color:#b00040;font-size:.84rem;font-weight:600;margin-top:4px}.tx .wpcf7-not-valid{border-color:#b00040!important}
.tx .wpcf7 form .wpcf7-response-output{margin:16px 0 0;border-radius:14px;padding:14px 16px;font-weight:600;border-width:1px}
.tx .wpcf7 form.sent .wpcf7-response-output{background:#e9f7ef;border-color:#bfe5cf;color:#185c37}
.tx .wpcf7 form.invalid .wpcf7-response-output,.tx .wpcf7 form.failed .wpcf7-response-output{background:#fff1f4;border-color:#f6cbd8;color:#8a0033}
.tx .wpcf7-spinner{margin:0 0 0 12px;vertical-align:middle}
.tx .pick{grid-column:1/-1}
.tx .wpcf7 input,.tx .wpcf7 select,.tx .wpcf7 textarea,.tx #f-prodotto-add{font-size:16px}
.tx .wpcf7 .fld>p{margin:0}.tx .wpcf7 form>p{margin:10px 0 0}
body:has(.tx) #wpfront-scroll-top-container{display:none!important}
@media(max-width:640px){.tx .wpcf7 form .fgrid{grid-template-columns:1fr}}
.tx .ncsec{margin:34px 0 16px;padding:18px 22px;border:1px dashed var(--blush);border-radius:16px;background:var(--cream)}.tx .ncsec h3{margin:0 0 6px}.tx .ncsec p{margin:0;color:var(--muted);font-size:.93rem}
.tx .nctag{align-self:flex-start;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);background:var(--sand);padding:4px 9px;border-radius:999px}.tx .plist small{color:var(--muted);font-weight:600}
.tx .hd-nav>a,.tx .dd>span{white-space:nowrap}
@media(max-width:1180px){.tx .hd-nav{display:none}.tx .hd-mob{display:block;position:relative}.tx .hd-mob summary{list-style:none;cursor:pointer;padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-weight:800}.tx .hd-mob summary::-webkit-details-marker{display:none}
.tx .hd-mob nav{position:absolute;right:0;top:calc(100% + 10px);width:min(86vw,340px);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:0 24px 50px -24px rgba(29,23,25,.4)}
.tx .hd-mob nav a{display:block;padding:12px 14px;border-radius:12px;text-decoration:none;font-weight:700;color:var(--ink)}.tx .hd-mob nav a.btn{color:var(--paper);justify-content:center;margin-top:8px}}
/* blog */
.tx .article .byline{display:block;color:var(--muted);font-size:.92rem;border-bottom:1px solid var(--line);padding-bottom:14px;margin:0 0 22px}.tx .sec:has(> .article){padding-top:clamp(28px,3.5vw,44px)}.tx .toc{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin:0 0 26px}.tx .toc ol,.tx .toc ul{margin:0}
.tx .article .author-box,.tx .article .box-autore{margin-top:32px}.tx .article aside.note{margin:24px 0}.tx .article .btns{margin:18px 0}.tx .blog-grid .card h2{margin:0 0 8px}
/* pagine Per chi lavoriamo */
.tx .prose{max-width:880px}.tx .prose h2{font-size:clamp(1.45rem,2.2vw,1.9rem);margin:2.2em 0 .6em;scroll-margin-top:100px}.tx .prose>h2:first-child{margin-top:0}
.tx .prose h3{font-size:1.12rem;margin:1.6em 0 .5em;scroll-margin-top:100px}.tx .prose p,.tx .prose li{color:var(--ink2)}
.tx .prose ul,.tx .prose ol{padding-left:1.2em;margin:0 0 1em}.tx .prose li{margin:.35em 0}.tx .prose a{color:var(--accent-dk)}.tx .prose a.btn{color:var(--paper)}
.tx .prose .tbl{overflow-x:auto;margin:0 0 1.4em}.tx .prose table{width:100%;border-collapse:collapse;font-size:.93rem}.tx .prose th,.tx .prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 12px 10px 0}.tx .prose th{font-weight:800;color:var(--ink)}
.tx .inbreve{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:16px;padding:20px 24px;margin:0 0 28px}.tx .inbreve .ib-t{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--accent-dk);margin:0 0 8px}.tx .inbreve ul{margin:0}
.tx .pcl-cta{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;margin:24px 0}.tx .pcl-btn{margin:24px 0}
.tx .prose .pcl-cards{grid-template-columns:1fr 1fr;margin:18px 0 28px}.tx .prose .card{color:inherit;text-decoration:none}.tx .prose .card p{color:var(--muted)}.tx .prose .faq{margin-top:12px}
@media(max-width:640px){.tx .prose .pcl-cards{grid-template-columns:1fr}}
