/* ============================================================
   WP TABLEY FX — design system "Salient-style" per wptabley.mediazet.it
   Gradiente animato, orbs parallasse, glassmorphism, reveal on scroll.
   ============================================================ */
:root{
  --tly-navy:#0b0334;
  --tly-v1:#6d1fd6;
  --tly-v2:#a855f7;
  --tly-v3:#c10fff;
  --tly-amber:#ffcd57;
  --tly-ink:#0f172a;
  --tly-gray:#5b6478;
  --tly-line:rgba(15,23,42,.08);
  --tly-ease:cubic-bezier(.16,1,.3,1);
}
.tly-x{font-family:Inter,'Plus Jakarta Sans',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--tly-ink);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
.tly-x *{box-sizing:border-box}
.tly-x h1,.tly-x h2,.tly-x h3,.tly-btn{font-family:'Plus Jakarta Sans',Poppins,Inter,sans-serif;line-height:1.08;letter-spacing:-.03em;margin:0}
.tly-x a{text-decoration:none}
/* ---------- HERO ---------- */
.tly-hero{position:relative;overflow:hidden;border-radius:0 0 42px 42px;padding:110px 32px 96px;text-align:center;color:#fff;isolation:isolate;background:linear-gradient(120deg,#150548 0%,#3b0764 35%,#6d1fd6 70%,#c10fff 100%);background-size:220% 220%;animation:tlyGrad 14s ease-in-out infinite alternate}
@keyframes tlyGrad{0%{background-position:0% 20%}50%{background-position:60% 60%}100%{background-position:100% 90%}}
.tly-hero::before{content:'';position:absolute;inset:0;z-index:-1;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:56px 56px;mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 30%,transparent 75%)}
.tly-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;z-index:-1;will-change:transform}
.tly-orb1{width:420px;height:420px;background:#7c3aed;top:-160px;left:-120px}
.tly-orb2{width:340px;height:340px;background:#db2777;bottom:-140px;right:-80px;opacity:.4}
.tly-orb3{width:220px;height:220px;background:#ffcd57;top:30%;right:12%;opacity:.25}
.tly-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f3e8ff;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:9px 20px;border-radius:99px;margin-bottom:26px}
.tly-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--tly-amber);display:inline-block;animation:tlyPulse 2s infinite}
@keyframes tlyPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,205,87,.7)}70%{box-shadow:0 0 0 9px rgba(255,205,87,0)}}
.tly-hero h1{font-size:clamp(38px,6vw,64px);font-weight:800;color:#fff;max-width:900px;margin:0 auto 20px}
.tly-hero h1 em{font-style:normal;background:linear-gradient(90deg,#ffcd57,#fbbf24 60%,#f59e0b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tly-hero p{font-size:clamp(16px,2vw,19px);color:#d9ccff;max-width:620px;margin:0 auto 36px}
.tly-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* ---------- HERO2 "SALIENT" (chiaro, split testo+foto) ---------- */
.tly-hero2{position:relative;overflow:hidden;padding:84px 32px 110px;isolation:isolate;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#fff}
.tly-hero2::before{content:'';position:absolute;top:-60px;right:-40px;width:520px;height:520px;background-image:radial-gradient(rgba(109,31,214,.16) 1.6px,transparent 1.6px);background-size:24px 24px;mask-image:radial-gradient(circle at 70% 30%,#000 20%,transparent 68%);-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 20%,transparent 68%);z-index:-1}
.tly-hero2 .tly-orb{opacity:.4}
.tly-hero2 .tly-orb1{background:#c4b5fd;top:-170px;left:-140px}
.tly-hero2 .tly-orb2{background:#fbcfe8;bottom:-160px;right:-100px}
.tly-hero2 .tly-orb3{background:#fde68a;opacity:.45;top:14%;right:16%}
.tly-hero2-in{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center;position:relative}
.tly-hero2-txt h1{font-size:clamp(38px,4.9vw,60px);font-weight:800;color:#1b1040;margin:0 0 22px;letter-spacing:-.035em;line-height:1.06}
.tly-hero2-txt p{font-size:clamp(16px,1.8vw,18.5px);color:var(--tly-gray);max-width:520px;margin:0 0 32px}
.tly-hero2 .tly-cta-row{justify-content:flex-start}
.tly-hero2 .tly-tag{margin-bottom:20px}
/* sottolineatura "a penna" gialla, si disegna al reveal */
.tly-ul{position:relative;text-decoration:none;white-space:nowrap;color:inherit}
.tly-ul::after{content:'';position:absolute;left:-4%;right:-4%;bottom:.02em;height:.3em;z-index:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9 Q 20 3 40 8 T 78 7 T 117 4' stroke='%23fbbf24' stroke-width='7' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 100%/100% 100%;clip-path:inset(0 102% 0 0);transition:clip-path 1.1s var(--tly-ease) .55s}
.tly-rv.on .tly-ul::after,.tly-hero2-txt.on .tly-ul::after{clip-path:inset(0 0 0 0)}
/* colonna foto + popup fluttuanti */
.tly-hero2-art{position:relative;min-width:0}
.tly-pxwrap{will-change:transform}
.tly-mimg{border-radius:28px;overflow:hidden;border:7px solid #fff;box-shadow:0 44px 90px -32px rgba(21,5,72,.5)}
.tly-mimg img{display:block;width:100%;height:430px;object-fit:cover}
.tly-pop{position:absolute;will-change:transform;z-index:2}
.tly-pop.p1{top:-26px;left:-34px}
.tly-pop.p2{bottom:-26px;right:-18px}
.tly-pop-in{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(109,31,214,.16);border-radius:18px;padding:14px 19px;box-shadow:0 20px 50px -16px rgba(21,5,72,.35)}
.tly-pop-in b{display:block;font-size:19px;font-weight:800;color:#1b1040;font-family:'Plus Jakarta Sans',sans-serif;line-height:1.15;letter-spacing:-.01em}
.tly-pop-in span{font-size:12px;color:var(--tly-gray);font-weight:600}
.tly-pico{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,rgba(109,31,214,.12),rgba(193,15,255,.14));display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 auto}
.tly-donut{transform:rotate(-90deg);flex:0 0 auto}
.tly-donut .dbg{fill:none;stroke:#efe7fd;stroke-width:5.5}
.tly-donut .dval{fill:none;stroke:url(#tlyDg);stroke-width:5.5;stroke-linecap:round}
.tly-btn-o{background:#fff;color:#1b1040;border:1.5px solid #e3dcf5;box-shadow:0 8px 24px -10px rgba(21,5,72,.18)}
.tly-btn-o:hover{transform:translateY(-3px);border-color:var(--tly-v1);color:var(--tly-v1);box-shadow:0 16px 34px -12px rgba(109,31,214,.3)}
.tly-proof{display:flex;align-items:center;gap:11px;margin-top:28px;color:var(--tly-gray);font-size:13.5px;font-weight:600}
.tly-proof .pst{color:var(--tly-amber);letter-spacing:2.5px;font-size:15px;text-shadow:0 2px 8px rgba(255,205,87,.4)}
/* ---------- BOTTONI ---------- */
.tly-btn{display:inline-block;font-weight:700;font-size:16px;padding:16px 34px;border-radius:14px;transition:transform .35s var(--tly-ease),box-shadow .35s var(--tly-ease);position:relative;overflow:hidden}
.tly-btn:active{transform:scale(.97)}
.tly-btn-p{background:linear-gradient(135deg,#ffcd57,#f59e0b);color:#2d0a5e;box-shadow:0 12px 32px -8px rgba(245,158,11,.55)}
.tly-btn-p:hover{transform:translateY(-3px);box-shadow:0 20px 44px -8px rgba(245,158,11,.65)}
.tly-btn-g{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tly-btn-g:hover{background:rgba(255,255,255,.16);transform:translateY(-3px)}
.tly-btn-d{background:var(--tly-v1);color:#fff;box-shadow:0 12px 30px -8px rgba(109,31,214,.5)}
.tly-btn-d:hover{transform:translateY(-3px);box-shadow:0 20px 44px -8px rgba(109,31,214,.6)}
/* ---------- SEZIONI ---------- */
.tly-sec{max-width:1140px;margin:0 auto;padding:88px 28px}
.tly-sec.tight{padding-top:56px}
.tly-tag{display:inline-block;color:var(--tly-v1);background:rgba(109,31,214,.08);border:1px solid rgba(109,31,214,.16);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;border-radius:99px;margin-bottom:18px}
.tly-h2{font-size:clamp(28px,4vw,44px);font-weight:800;text-align:center}
.tly-sub{color:var(--tly-gray);font-size:17px;max-width:600px;margin:16px auto 0;text-align:center}
.tly-center{text-align:center}
/* ---------- CARD GLASS ---------- */
.tly-grid{display:grid;gap:22px;margin-top:56px}
.tly-g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.tly-g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.tly-g4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tly-card{position:relative;background:rgba(255,255,255,.72);border:1px solid var(--tly-line);border-radius:22px;padding:34px 30px;box-shadow:0 4px 24px -8px rgba(15,23,42,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .45s var(--tly-ease),box-shadow .45s var(--tly-ease),border-color .45s;overflow:hidden}
.tly-card::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--tly-v1),var(--tly-v3),var(--tly-amber));opacity:0;transition:opacity .4s}
.tly-card:hover{transform:translateY(-7px);box-shadow:0 24px 54px -16px rgba(109,31,214,.22);border-color:rgba(109,31,214,.28)}
.tly-card:hover::before{opacity:1}
.tly-ico{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:18px;background:linear-gradient(135deg,rgba(109,31,214,.1),rgba(193,15,255,.14));border:1px solid rgba(109,31,214,.16)}
.tly-card h3{font-size:18px;font-weight:800;margin:0 0 9px}
.tly-card p{font-size:15px;color:var(--tly-gray);margin:0}
/* ---------- BANDA PARALLASSE FULL-WIDTH ---------- */
.tly-pxband{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center;isolation:isolate;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.tly-pxband img{position:absolute;inset:-18% 0;width:100%;height:136%;object-fit:cover;z-index:-1;will-change:transform;transform:translateY(var(--pxy,0px))}
.tly-pxband::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,13,26,.88) 15%,rgba(8,13,26,.5) 55%,rgba(8,13,26,.2));z-index:0}
.tly-pxin{position:relative;z-index:1;padding:96px 60px;color:#fff;max-width:680px;margin-left:max(4vw,calc(50vw - 570px))}
.tly-pxin h2{font-size:clamp(28px,3.8vw,44px);font-weight:800;margin-bottom:16px;color:#fff !important}
.tly-pxin p{color:#e4d7ff;font-size:17px;margin:0 0 30px}
.tly-pxin .tly-eyebrow{color:#f3e8ff}
/* ---------- SPLIT IMMAGINE + TESTO ---------- */
.tly-split{display:flex;gap:56px;align-items:center;margin:80px auto;max-width:1080px}
.tly-split.rev{flex-direction:row-reverse}
.tly-split-txt{flex:1;min-width:0}
.tly-split-txt .tly-tag{margin-bottom:14px}
.tly-split-txt h2{font-size:clamp(24px,3vw,34px);font-weight:800;margin-bottom:14px;color:var(--tly-ink)}
.tly-split-txt p{color:var(--tly-gray);font-size:16px;margin:0 0 18px}
.tly-checks{list-style:none;padding:0;margin:0}
.tly-checks li{position:relative;padding:8px 0 8px 30px;color:#374151;font-size:15px;font-weight:600}
.tly-checks li::before{content:'✓';position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--tly-v1),var(--tly-v3));color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.tly-split-img{flex:1;min-width:0;position:relative}
.tly-imgcard{position:relative;border-radius:26px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(21,5,72,.35);transform-style:preserve-3d;transition:box-shadow .4s}
.tly-imgcard img{display:block;width:100%;height:380px;object-fit:cover;transition:transform .8s var(--tly-ease)}
.tly-imgcard:hover img{transform:scale(1.06)}
.tly-imgcard::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(10,15,25,.38));z-index:1}
.tly-imgcap{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff;font-size:13.5px;font-weight:700;background:rgba(21,5,72,.55);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);padding:8px 16px;border-radius:99px}
/* ---------- TAPE (bande ruotate con testo che accelera allo scroll) ---------- */
.tly-tapewrap{position:relative;overflow:hidden;padding:44px 0 52px;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.tly-tape{position:relative;width:112vw;left:-6vw;padding:24px 0;overflow:hidden}
.tly-tape.blue{background:#318fff;transform:rotate(-2deg)}
.tly-tape.yellow{background:#ffd23e;transform:rotate(1.8deg);margin-top:-16px}
.tly-tape-track{display:flex;gap:70px;width:max-content;white-space:nowrap;will-change:transform}
.tly-tape-track h2{font-size:clamp(34px,5vw,66px);font-weight:800;color:#0a0a0a;margin:0;letter-spacing:-.02em}
/* ---------- FACCINE INLINE NEL TITOLO ---------- */
.tly-faces{display:inline-flex;vertical-align:middle}
.tly-faces img{width:1.15em;height:1.15em;border-radius:50%;object-fit:cover;margin-left:-.3em;border:2.5px solid #fff;box-shadow:0 5px 16px rgba(15,23,42,.22);vertical-align:middle;transform:scale(0) rotate(-30deg);transition:transform .7s var(--tly-ease)}
.tly-faces img:first-child{margin-left:0}
.tly-rv.on .tly-faces img{transform:scale(1) rotate(0)}
.tly-rv.on .tly-faces img:nth-child(2){transition-delay:.15s}
.tly-rv.on .tly-faces img:nth-child(3){transition-delay:.3s}
.tly-rv.on .tly-faces img:nth-child(4){transition-delay:.45s}
/* ---------- SLIDER TESTIMONIANZE ---------- */
.tly-tslider{overflow:hidden;padding:8px 0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tly-ttrack{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:24px 4px;-ms-overflow-style:none}
.tly-ttrack::-webkit-scrollbar{display:none}
.tly-tcard{flex:0 0 min(420px,86vw);scroll-snap-align:center;background:#fff;border:1px solid var(--tly-line);border-radius:22px;padding:38px 34px;box-shadow:0 22px 55px -22px rgba(15,23,42,.18);position:relative}
.tly-tcard::before{content:'\201C';position:absolute;top:14px;right:26px;font-size:84px;line-height:1;color:rgba(109,31,214,.14);font-family:Georgia,serif}
.tly-tstars{color:var(--tly-amber);font-size:17px;letter-spacing:3px;margin-bottom:14px}
.tly-tcard p{font-size:15.5px;color:#374151;font-style:italic;margin:0 0 22px}
.tly-twho{display:flex;align-items:center;gap:13px;border-top:1px solid var(--tly-line);padding-top:16px}
.tly-twho img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.tly-twho b{display:block;font-size:15px;color:var(--tly-ink)}
.tly-twho span{font-size:12.5px;color:#94a3b8}
.tly-tnav{display:flex;gap:10px;justify-content:center;margin-top:8px}
.tly-tbtn{width:48px;height:48px;border-radius:50%;border:1.5px solid #e3dcf5;background:#fff;color:#1b1040;font-size:19px;cursor:pointer;transition:all .3s var(--tly-ease);font-family:inherit}
.tly-tbtn:hover{background:var(--tly-v1);border-color:var(--tly-v1);color:#fff;transform:translateY(-2px)}
/* ---------- MARQUEE ---------- */
.tly-marquee{overflow:hidden;padding:26px 0;border-top:1px solid var(--tly-line);border-bottom:1px solid var(--tly-line);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.tly-mtrack{display:flex;gap:54px;width:max-content;animation:tlyMar 26s linear infinite}
@keyframes tlyMar{to{transform:translateX(-50%)}}
.tly-mtrack span{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:15px;font-weight:700;color:#9aa3b8}
.tly-mtrack span i{color:var(--tly-v1);font-style:normal;font-size:18px}
/* ---------- STAT / CONTATORI ---------- */
.tly-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-top:52px}
.tly-stat{background:linear-gradient(160deg,rgba(109,31,214,.06),rgba(193,15,255,.04));border:1px solid rgba(109,31,214,.14);border-radius:20px;padding:30px 22px;text-align:center}
.tly-stat b{display:block;font-size:40px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--tly-v1),var(--tly-v3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tly-stat span{font-size:13.5px;color:var(--tly-gray);font-weight:600}
/* ---------- STEPS ---------- */
.tly-steps{display:grid;gap:16px;margin-top:44px;max-width:720px;margin-left:auto;margin-right:auto}
.tly-step{display:flex;gap:20px;background:rgba(255,255,255,.72);border:1px solid var(--tly-line);border-radius:18px;padding:24px 26px;backdrop-filter:blur(10px);transition:transform .4s var(--tly-ease),box-shadow .4s}
.tly-step:hover{transform:translateX(8px);box-shadow:0 14px 34px -14px rgba(109,31,214,.25)}
.tly-snum{flex:0 0 46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--tly-v1),var(--tly-v3));color:#fff;font-size:19px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -6px rgba(109,31,214,.5)}
.tly-step h3{font-size:16.5px;font-weight:800;margin:0 0 4px}
.tly-step p{font-size:14.5px;color:var(--tly-gray);margin:0}
/* ---------- FAQ / ACCORDION ---------- */
.tly-faq{max-width:740px;margin:48px auto 0}
.tly-faq details{background:rgba(255,255,255,.75);border:1px solid var(--tly-line);border-radius:16px;margin-bottom:12px;backdrop-filter:blur(10px);transition:box-shadow .3s,border-color .3s;overflow:hidden}
.tly-faq details[open]{border-color:rgba(109,31,214,.3);box-shadow:0 14px 34px -16px rgba(109,31,214,.22)}
.tly-faq summary{cursor:pointer;font-weight:700;font-size:16px;padding:20px 24px;list-style:none;position:relative;padding-right:56px}
.tly-faq summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:9px;background:rgba(109,31,214,.1);color:var(--tly-v1);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:transform .35s var(--tly-ease),background .3s}
.tly-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--tly-v1);color:#fff}
.tly-faq details p{margin:0;padding:0 24px 22px;color:var(--tly-gray);font-size:15px}
/* ---------- TABELLA VS ---------- */
.tly-vs{background:rgba(255,255,255,.8);border:1px solid var(--tly-line);border-radius:22px;overflow:hidden;margin-top:50px;backdrop-filter:blur(10px);box-shadow:0 8px 30px -12px rgba(15,23,42,.1)}
.tly-vs table{width:100%;border-collapse:collapse;font-size:15px}
.tly-vs th{padding:20px 22px;text-align:left;font-size:14px;background:linear-gradient(90deg,rgba(109,31,214,.07),rgba(193,15,255,.05))}
.tly-vs th:nth-child(2){color:var(--tly-v1)}
.tly-vs td{padding:17px 22px;border-top:1px solid var(--tly-line);color:var(--tly-gray)}
.tly-vs td:first-child{font-weight:700;color:var(--tly-ink)}
.tly-vs tr{transition:background .25s}
.tly-vs tbody tr:hover{background:rgba(109,31,214,.04)}
.tly-ok{color:#059669;font-weight:700}
.tly-no{color:#b0b8c8}
/* ---------- REVIEW ---------- */
.tly-rcard{position:relative;background:rgba(255,255,255,.78);border:1px solid var(--tly-line);border-radius:22px;padding:34px 30px;backdrop-filter:blur(12px);transition:transform .45s var(--tly-ease),box-shadow .45s}
.tly-rcard:hover{transform:translateY(-7px) rotate(-.4deg);box-shadow:0 24px 54px -18px rgba(109,31,214,.28)}
.tly-rcard::before{content:'\201C';position:absolute;top:6px;right:22px;font-size:96px;line-height:1;color:rgba(109,31,214,.1);font-family:Georgia,serif}
.tly-stars{color:var(--tly-amber);font-size:17px;letter-spacing:3px;margin-bottom:14px;text-shadow:0 2px 8px rgba(255,205,87,.4)}
.tly-rtext{font-size:15.5px;color:#374151;font-style:italic;margin:0 0 20px}
.tly-rwho{font-size:13.5px;color:#94a3b8;border-top:1px solid var(--tly-line);padding-top:14px}
.tly-rwho strong{color:var(--tly-ink);display:block;font-size:15px}
/* ---------- TESTO / PROSA ---------- */
.tly-prose{max-width:760px;margin:0 auto}
.tly-prose h2{font-size:26px;font-weight:800;margin:44px 0 14px;color:var(--tly-ink)}
.tly-prose p,.tly-prose li{color:var(--tly-gray);font-size:16px}
.tly-prose a{color:var(--tly-v1);font-weight:600}
.tly-keybox{background:linear-gradient(135deg,rgba(2,132,199,.07),rgba(14,165,233,.05));border:1.5px dashed #0284c7;border-radius:16px;padding:20px 24px;margin:22px 0;font-size:15px}
.tly-quote{border-left:4px solid var(--tly-v1);background:linear-gradient(90deg,rgba(109,31,214,.07),transparent);padding:22px 28px;border-radius:0 18px 18px 0;margin:30px 0;font-size:20px;font-style:italic;color:#374151;font-weight:600}
.tly-hl{background:linear-gradient(180deg,transparent 62%,rgba(255,205,87,.5) 62%);font-weight:700;color:var(--tly-ink)}
/* ---------- FORM CONTATTI ---------- */
.tly-form{max-width:640px;margin:0 auto;background:rgba(255,255,255,.78);border:1px solid var(--tly-line);border-radius:24px;padding:42px 38px;backdrop-filter:blur(12px);box-shadow:0 20px 60px -24px rgba(109,31,214,.25)}
.tly-frow{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-bottom:18px}
.tly-field{margin-bottom:18px}
.tly-field label{display:block;font-size:13px;font-weight:700;color:var(--tly-ink);margin-bottom:7px;letter-spacing:.02em}
.tly-field input,.tly-field textarea{width:100%;border:1.5px solid #e6e9f0;border-radius:13px;padding:14px 17px;font-family:inherit;font-size:15px;background:#fff;color:var(--tly-ink);transition:border-color .25s,box-shadow .25s;outline:none}
.tly-field input:focus,.tly-field textarea:focus{border-color:var(--tly-v1);box-shadow:0 0 0 4px rgba(109,31,214,.12)}
.tly-field textarea{min-height:130px;resize:vertical}
.tly-fsubmit{width:100%;border:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.tly-fmsg{display:none;margin-top:16px;padding:14px 18px;border-radius:12px;font-size:14.5px;font-weight:600;text-align:center}
.tly-fmsg.ok{display:block;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.tly-fmsg.err{display:block;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.tly-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
/* ---------- WOOCOMMERCE (cassa/carrello) ---------- */
.tly-x .woocommerce .checkout .col2-set,.tly-x .woocommerce .woocommerce-billing-fields h3,.tly-x .woocommerce .checkout_coupon{color:var(--tly-ink)}
.tly-x .woocommerce input.input-text,.tly-x .woocommerce select,.tly-x .woocommerce textarea{border:1.5px solid #e6e9f0;border-radius:12px;padding:12px 15px;font-family:inherit}
.tly-x .woocommerce input.input-text:focus{border-color:var(--tly-v1);box-shadow:0 0 0 4px rgba(109,31,214,.12);outline:none}
.tly-x .woocommerce #payment,.tly-x .woocommerce #order_review,.tly-x .woocommerce-cart .cart-collaterals .cart_totals,.tly-x .woocommerce form .form-row input,.tly-x .woocommerce table.shop_table{border-radius:16px}
.tly-x .woocommerce #place_order,.tly-x .woocommerce button.button,.tly-x .woocommerce a.button{background:linear-gradient(135deg,var(--tly-v1),var(--tly-v3)) !important;color:#fff !important;border-radius:13px !important;font-family:'Plus Jakarta Sans',sans-serif !important;font-weight:700 !important;padding:16px 30px !important;border:none !important;font-size:15.5px !important}
.tly-x .woocommerce #place_order:hover,.tly-x .woocommerce button.button:hover{filter:brightness(1.1)}
.tly-x .woocommerce .woocommerce-info,.tly-x .woocommerce .woocommerce-message{border-top-color:var(--tly-v1);background:rgba(109,31,214,.06)}
/* ---------- REVEAL ---------- */
.tly-rv{opacity:0;transform:translateY(44px) scale(.985);transition:opacity .9s var(--tly-ease),transform .9s var(--tly-ease)}
.tly-rv.on{opacity:1;transform:none}
.tly-rv.d1{transition-delay:.1s}.tly-rv.d2{transition-delay:.2s}.tly-rv.d3{transition-delay:.3s}.tly-rv.d4{transition-delay:.4s}.tly-rv.d5{transition-delay:.5s}
.tly-float{animation:tlyFloat 7s ease-in-out infinite}
@keyframes tlyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media (prefers-reduced-motion:reduce){.tly-rv{opacity:1;transform:none;transition:none}.tly-mtrack,.tly-hero,.tly-float,.tly-eyebrow i{animation:none !important}}
@media (max-width:860px){.tly-split,.tly-split.rev{flex-direction:column;gap:28px;margin:56px auto}.tly-hero2{padding:60px 22px 90px}.tly-hero2-in{grid-template-columns:1fr;gap:64px}.tly-mimg img{height:320px}.tly-pop.p1{top:-18px;left:-6px}.tly-pop.p2{bottom:-20px;right:-4px}}
@media (max-width:720px){.tly-hero{padding:72px 20px 64px;border-radius:0 0 28px 28px}.tly-sec{padding:60px 20px}.tly-pxin{padding:60px 28px}.tly-card{padding:26px 22px}.tly-imgcard img{height:280px}}

/* ============ HERO VARIANTI (pagine diverse) ============ */
/* H3 — foto full-bleed con parallasse (chi siamo) */
.tly-hero3{position:relative;width:100vw;margin-left:calc(50% - 50vw);min-height:600px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.tly-hero3 .hbg{position:absolute;top:-14%;left:0;width:100%;height:128%;background-size:cover;background-position:center;z-index:-2;will-change:transform}
.tly-hero3::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,3,52,.30) 0%,rgba(11,3,52,.55) 55%,rgba(11,3,52,.90) 100%)}
.tly-hero3-in{max-width:1140px;margin:0 auto;width:100%;padding:0 32px 78px}
.tly-hero3 h1{color:#fff;font-size:clamp(40px,5.6vw,70px);font-weight:800;letter-spacing:-.035em;line-height:1.04;max-width:800px;margin:0 0 18px}
.tly-hero3 p{color:rgba(255,255,255,.88);font-size:18px;max-width:560px;margin:0 0 30px}
.tly-hero3 .tly-tag{background:rgba(255,255,255,.12);color:#fde68a;border-color:rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.tly-hero3 .tly-proof{color:#fff}
.tly-hero3 .pst{color:#fbbf24}

/* H4 — centrato editoriale (recensioni) */
.tly-hero4{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:165px 32px 78px;text-align:center;overflow:hidden;background:radial-gradient(900px 430px at 50% -8%,rgba(109,31,214,.10),transparent 62%)}
.tly-hero4::before{content:'';position:absolute;top:-50px;left:-60px;width:460px;height:460px;background-image:radial-gradient(rgba(109,31,214,.14) 1.6px,transparent 1.6px);background-size:24px 24px;mask-image:radial-gradient(circle at 30% 30%,#000 15%,transparent 66%);-webkit-mask-image:radial-gradient(circle at 30% 30%,#000 15%,transparent 66%)}
.tly-hero4-in{max-width:900px;margin:0 auto;position:relative}
.tly-hero4 h1{font-size:clamp(40px,5.8vw,72px);font-weight:800;color:#1b1040;letter-spacing:-.04em;line-height:1.03;margin:14px 0 22px}
.tly-hero4 p{color:var(--tly-gray);max-width:580px;margin:0 auto 30px;font-size:18px}
.tly-hero4 .tly-cta-row,.tly-hero4 .tly-proof{justify-content:center}
.tly-hero4 .tly-faces{margin:4px auto 26px;display:flex;justify-content:center}
.tly-hero4 .tly-faces img{width:2.6em;height:2.6em;margin-left:-.5em}
.tly-hero4 .tly-faces img:first-child{margin-left:0}

/* H5 — scuro confronto (perche sceglierci) */
.tly-hero5{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:170px 32px 96px;text-align:center;overflow:hidden;background:linear-gradient(135deg,#0b0334,#3d0a8c 55%,#5f17b8);isolation:isolate}
.tly-hero5::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.09) 1.4px,transparent 1.4px);background-size:26px 26px;mask-image:radial-gradient(circle at 50% 0%,#000,transparent 72%);-webkit-mask-image:radial-gradient(circle at 50% 0%,#000,transparent 72%)}
.tly-hero5-in{max-width:880px;margin:0 auto;position:relative}
.tly-hero5 h1{color:#fff;font-size:clamp(38px,5.2vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:16px 0 20px}
.tly-hero5 p{color:rgba(255,255,255,.84);max-width:600px;margin:0 auto 30px;font-size:18px}
.tly-hero5 .tly-tag{background:rgba(255,255,255,.12);color:#fde68a;border-color:rgba(255,255,255,.28)}
.tly-hero5 .tly-proof{color:#fff;justify-content:center}
.tly-hero5 .tly-cta-row{justify-content:center}
.tly-chips{display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;margin:6px 0 34px}
.tly-chips span{padding:10px 20px;border-radius:99px;font-size:14px;font-weight:800;letter-spacing:.02em}
.tly-chips .a{background:#fbbf24;color:#3b0764}
.tly-chips .b{background:rgba(0,0,0,.22);color:#fff;border:1px solid rgba(255,255,255,.45)}

/* H7 — compatto centrato (supporto, privacy) */
.tly-hero7{width:100vw;margin-left:calc(50% - 50vw);padding:150px 32px 66px;text-align:center;position:relative;overflow:hidden}
.tly-hero7::before{content:'';position:absolute;top:-60px;right:-40px;width:520px;height:520px;background-image:radial-gradient(rgba(109,31,214,.15) 1.6px,transparent 1.6px);background-size:24px 24px;mask-image:radial-gradient(circle at 70% 30%,#000 18%,transparent 68%);-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 18%,transparent 68%)}
.tly-hero7-in{max-width:780px;margin:0 auto;position:relative}
.tly-hero7 h1{font-size:clamp(36px,4.8vw,56px);font-weight:800;color:#1b1040;letter-spacing:-.035em;line-height:1.06;margin:0 0 16px}
.tly-hero7 p{color:var(--tly-gray);max-width:560px;margin:0 auto 26px;font-size:17.5px}
.tly-hero7 .tly-cta-row,.tly-hero7 .tly-proof{justify-content:center}
.tly-search{max-width:580px;margin:34px auto 0;display:flex;gap:10px;align-items:center;background:#fff;border:1.5px solid rgba(109,31,214,.24);border-radius:99px;padding:9px 9px 9px 24px;box-shadow:0 20px 48px -18px rgba(75,0,170,.28)}
.tly-search input{flex:1;border:none;outline:none;font:inherit;font-size:15.5px;background:none;color:#1b1040;min-width:0}
.tly-search input::placeholder{color:#a79bc9}
.tly-search .tly-btn{padding:12px 24px}

/* form dentro l'hero (contatti) */
.tly-form-hero{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-radius:22px;padding:30px 28px;border:1px solid rgba(109,31,214,.15);box-shadow:0 34px 74px -22px rgba(60,0,140,.32);text-align:left}
.tly-form-hero .ft{font-weight:800;color:#1b1040;font-size:17px;margin-bottom:16px}
.tly-form-hero .tly-field{margin-bottom:13px}
.tly-form-hero input,.tly-form-hero textarea{padding:12px 15px;font-size:14.5px}
.tly-form-hero textarea{min-height:110px}

/* terminale licenza (modulo-licenza) */
.tly-term{background:#0b0334;border-radius:20px;padding:26px 26px 24px;box-shadow:0 36px 74px -24px rgba(30,0,80,.6),inset 0 0 0 1px rgba(168,85,247,.28);color:#c4b5fd;font-family:'Courier New',Courier,monospace;font-size:14.5px;line-height:2;text-align:left;transform:rotate(1.2deg)}
.tly-term .tt{display:flex;gap:7px;margin-bottom:16px}
.tly-term .tt i{width:11px;height:11px;border-radius:50%;background:#ef4444}
.tly-term .tt i:nth-child(2){background:#fbbf24}
.tly-term .tt i:nth-child(3){background:#22c55e}
.tly-term .c{color:#7dd3fc}
.tly-term .k{color:#a3e635}
.tly-term .w{color:#fde68a}
.tly-term .cur{display:inline-block;width:9px;height:17px;background:#a3e635;vertical-align:-3px;animation:tly-blink 1s step-end infinite}
@media (max-width:860px){
.tly-hero3{min-height:480px}.tly-hero3-in{padding:0 22px 56px}
.tly-hero4{padding:120px 22px 60px}.tly-hero5{padding:130px 22px 72px}
.tly-hero7{padding:120px 22px 56px}.tly-term{transform:none;font-size:13px}
}
.tly-btn-g{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tly-btn-g:hover{transform:translateY(-3px);background:rgba(255,255,255,.2);border-color:#fff;color:#fff}

/* Editor Gutenberg: i reveal partono opacity:0 e l'observer non gira -> mostra tutto */
.editor-styles-wrapper .tly-rv,.editor-styles-wrapper .tly-rv.d1,.editor-styles-wrapper .tly-rv.d2,.editor-styles-wrapper .tly-rv.d3,.editor-styles-wrapper .tly-rv.d4{opacity:1 !important;transform:none !important;transition:none !important}
.editor-styles-wrapper .tly-faces img{transform:none !important}
