/* PYB AI tool: pagina di approfondimento. Usa i token del tema PYB. */
.pyb-tp{--tp-accent:var(--pyb-red,#C31C35);background:var(--pyb-paper,#F3F2F0);color:var(--pyb-ink,#231F20);font-family:var(--pyb-body)}
.pyb-tp-office{--tp-accent:var(--pyb-bord,#8D152E)}
.pyb-tp-strategic{--tp-accent:var(--pyb-ink,#231F20)}
.pyb-tp-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.pyb-tp-preview{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:998;background:var(--pyb-ink);color:#fff;font-size:13px;padding:10px 16px;border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.2);max-width:calc(100% - 32px);text-align:center}
.pyb-tp-label{font:500 12px/1.4 var(--pyb-body);letter-spacing:.22em;text-transform:uppercase;color:var(--tp-accent);margin:0 0 14px}
.pyb-tp-h2{font:800 clamp(28px,3.6vw,48px)/1.06 var(--pyb-display);letter-spacing:-.02em;margin:0 0 clamp(28px,4vw,48px);max-width:18ch}
.pyb-tp-sec{padding:clamp(64px,9vw,120px) 0}
.pyb-tp-sec + .pyb-tp-sec{border-top:1px solid var(--pyb-line)}
.pyb-tp-2col{display:grid;grid-template-columns:minmax(160px,1fr) 3fr;gap:24px 48px;align-items:start}

/* Apertura */
.pyb-tp-hero{padding:clamp(120px,14vw,170px) 0 clamp(56px,7vw,90px);background:var(--pyb-white)}
.pyb-tp-hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.pyb-tp-crumb{display:flex;gap:8px;font-size:13px;color:var(--pyb-grey);margin-bottom:28px}
.pyb-tp-crumb a{color:inherit;text-decoration:none;border-bottom:1px solid var(--pyb-line)}
.pyb-tp-crumb a:hover{color:var(--pyb-ink)}
.pyb-tp-id{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.pyb-tp-logo{width:64px;height:64px;border-radius:16px;background:var(--pyb-paper);border:1px dashed var(--pyb-line);display:grid;place-items:center;font:800 18px var(--pyb-display);color:var(--pyb-grey);overflow:hidden;flex:none}
.pyb-tp-logo.has-img{border:0;background:transparent}
.pyb-tp-logo img{width:100%;height:100%;object-fit:contain}
.pyb-tp-tag{margin:0;font:600 12px/1.3 var(--pyb-body);letter-spacing:.16em;text-transform:uppercase;color:var(--tp-accent)}
.pyb-tp-title{font:800 clamp(44px,6.4vw,92px)/.98 var(--pyb-display);letter-spacing:-.03em;margin:0 0 22px}
.pyb-tp-claim{font-size:clamp(19px,1.9vw,24px);line-height:1.4;margin:0 0 34px;max-width:32ch}
.pyb-tp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.pyb-tp-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:999px;background:var(--pyb-red);color:#fff;font-weight:600;text-decoration:none;transition:background .3s var(--pyb-ease),transform .3s var(--pyb-ease)}
.pyb-tp-btn:hover{background:var(--pyb-bord);color:#fff;transform:translateY(-1px)}
.pyb-tp-btn-light{background:#fff;color:var(--pyb-bord)}
.pyb-tp-btn-light:hover{background:var(--pyb-ink);color:#fff}
.pyb-tp-link{color:var(--pyb-ink);font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.pyb-tp-hero-media{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--pyb-ink)}
.pyb-tp-hero-media img,.pyb-tp-hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pyb-tp-hero-ph{position:absolute;inset:0;display:grid;place-items:end start;padding:28px;background:radial-gradient(120% 90% at 85% 10%,var(--tp-accent) 0%,transparent 60%),var(--pyb-ink)}
.pyb-tp-hero-ph span{font:800 clamp(28px,3vw,40px)/1 var(--pyb-display);color:rgba(255,255,255,.18);letter-spacing:-.02em}

/* Introduzione */
.pyb-tp-lead{font:600 clamp(22px,2.4vw,32px)/1.3 var(--pyb-display);letter-spacing:-.01em}
.pyb-tp-lead p{margin:0 0 .8em}
.pyb-tp-lead p:last-child{margin:0}

/* Griglie */
.pyb-tp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.pyb-tp-feat,.pyb-tp-step,.pyb-tp-card{background:var(--pyb-white);border:1px solid var(--pyb-line);border-radius:18px;padding:26px}
.pyb-tp-feat h3,.pyb-tp-step h3,.pyb-tp-card h3{font:700 21px/1.2 var(--pyb-display);margin:0 0 10px}
.pyb-tp-feat p,.pyb-tp-card p{margin:0;color:var(--pyb-grey);font-size:15.5px;line-height:1.55}
.pyb-tp-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--pyb-paper);color:var(--tp-accent);margin-bottom:22px}
.pyb-tp-ico svg{width:24px;height:24px;stroke-width:1.75}

/* Destinatari */
.pyb-tp-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.pyb-tp-chips li{padding:10px 18px;border-radius:999px;background:var(--pyb-white);border:1px solid var(--pyb-line);font-weight:600}

/* Come funziona */
.pyb-tp-steps{background:var(--pyb-ink);color:#fff}
.pyb-tp-steps .pyb-tp-label{color:var(--pyb-red-light)}
.pyb-tp-step{background:transparent;border-color:var(--pyb-line-dark)}
.pyb-tp-num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--pyb-line-dark);font:700 15px var(--pyb-display);margin-bottom:22px}
.pyb-tp-step p{margin:14px 0 0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.5}
.pyb-tp-step strong{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:4px}
.pyb-tp-step p + p strong{color:var(--pyb-red-light)}

/* Domande */
.pyb-tp-faqs details{border-bottom:1px solid var(--pyb-line)}
.pyb-tp-faqs details:first-child{border-top:1px solid var(--pyb-line)}
.pyb-tp-faqs summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font:700 clamp(18px,1.6vw,21px)/1.3 var(--pyb-display)}
.pyb-tp-faqs summary::-webkit-details-marker{display:none}
.pyb-tp-faqs summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--pyb-ease)}
.pyb-tp-faqs details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.pyb-tp-faqs details p{margin:0 0 22px;color:var(--pyb-grey);line-height:1.6;max-width:65ch}

/* Altri tool */
.pyb-tp-card{display:flex;flex-direction:column;gap:0;text-decoration:none;color:inherit;transition:border-color .3s var(--pyb-ease),transform .3s var(--pyb-ease)}
.pyb-tp-card:hover{border-color:var(--pyb-ink);transform:translateY(-3px)}
.pyb-tp-more{margin-top:18px;font-weight:600;color:var(--tp-accent)}
.pyb-tp-more::after{content:" →"}

/* Chiusura */
.pyb-tp-cta{background:var(--pyb-bord);color:#fff;padding:clamp(64px,9vw,110px) 0;text-align:left}
.pyb-tp-cta h2{font:800 clamp(30px,4vw,56px)/1.04 var(--pyb-display);letter-spacing:-.02em;margin:0 0 16px;max-width:20ch}
.pyb-tp-cta p{margin:0 0 30px;font-size:18px;color:rgba(255,255,255,.8);max-width:52ch}

/* Animazioni: i figli delle griglie entrano in cascata (gestite da pyb-anim.js) */
.pyb-js .pyb-tp .anim-reveal.anim-stagger > *{opacity:0;transform:translateY(40px)}
@media (prefers-reduced-motion:reduce){.pyb-js .pyb-tp .anim-reveal.anim-stagger > *{opacity:1!important;transform:none!important}}

@media (max-width:900px){
	.pyb-tp-hero-in{grid-template-columns:1fr}
	.pyb-tp-hero-media{order:-1;aspect-ratio:16/10}
	.pyb-tp-hero{padding-top:110px}
	.pyb-tp-2col{grid-template-columns:1fr}
}
@media (max-width:600px){
	.pyb-tp-wrap{padding:0 16px}
	.pyb-tp-feat,.pyb-tp-step,.pyb-tp-card{padding:22px}
	.pyb-tp-actions .pyb-tp-btn{width:100%;justify-content:center}
}

/* ------------------------------------------------ Case history: liste (shortcode) */
.pyb-cl{width:100%}
.pyb-cl-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--pyb-ink)}
.pyb-cl-media{border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:var(--pyb-ink)}
.pyb-cl-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--pyb-ease)}
.pyb-cl-card:hover .pyb-cl-media img{transform:scale(1.03)}
.pyb-cl-ph{width:100%;height:100%;min-height:100%;display:grid;place-items:end start;padding:22px;background:radial-gradient(120% 90% at 85% 10%,var(--pyb-red) 0%,transparent 60%),var(--pyb-ink)}
.pyb-cl-ph span{font:800 clamp(20px,2.4vw,32px)/1.05 var(--pyb-display);color:rgba(255,255,255,.2);letter-spacing:-.02em}
.pyb-cl-tag{margin:6px 0 0;font:600 12px/1.3 var(--pyb-body);letter-spacing:.16em;text-transform:uppercase;color:var(--pyb-red)}
.pyb-cl-card h3{font:700 22px/1.2 var(--pyb-display);margin:0}
.pyb-cl-sum{margin:0;color:var(--pyb-grey);font-size:15px;line-height:1.5}
.pyb-cl-card .pyb-tp-more{margin-top:4px;font-weight:600;color:var(--pyb-red)}
.pyb-cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px 24px}
.pyb-cl-card[hidden]{display:none}
.pyb-cl-filters{margin-bottom:28px}
.pyb-cl-slider{display:flex;flex-wrap:nowrap;gap:24px;align-items:flex-start;transition:transform .8s var(--pyb-ease);will-change:transform;touch-action:pan-y;cursor:grab}
.pyb-cl-slider>.pyb-case{flex:0 0 min(720px,80vw);width:min(720px,80vw);opacity:.35;transform:scale(.94);transform-origin:left center;transition:opacity .6s var(--pyb-ease),transform .6s var(--pyb-ease)}
.pyb-cl-slider>.pyb-case.is-active{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.pyb-cl-slider,.pyb-cl-slider>.pyb-case{transition:none}}

/* ------------------------------------------------ Case history: pagina */
.pyb-cs-hero{padding:clamp(120px,14vw,170px) 0 0;background:var(--pyb-white)}
.pyb-cs-title{max-width:16ch}
.pyb-cs-sum{max-width:44ch}
.pyb-cs-svc{margin:0 0 clamp(36px,5vw,56px)}
.pyb-cs-svc li{background:var(--pyb-paper);font-size:14px;padding:8px 14px}
.pyb-cs-cover{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:var(--pyb-ink);transform:translateY(clamp(40px,6vw,80px))}
.pyb-cs-cover img,.pyb-cs-cover video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pyb-cs-hero + .pyb-tp-sec{padding-top:calc(clamp(64px,9vw,120px) + clamp(40px,6vw,80px));border-top:0}
.pyb-cs-text{font-size:18px;line-height:1.6;max-width:62ch}
.pyb-cs-text p{margin:0 0 1em}
.pyb-cs-hitl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.pyb-cs-hitl>div{background:var(--pyb-ink);color:rgba(255,255,255,.78);border-radius:18px;padding:24px;font-size:15.5px;line-height:1.55}
.pyb-cs-hitl>div+div{background:var(--pyb-bord)}
.pyb-cs-hitl strong{display:block;color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.pyb-cs-hitl p{margin:0 0 .6em}
.pyb-cs-res{background:var(--pyb-white)}
.pyb-cs-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.pyb-cs-nums b{display:block;font:800 clamp(48px,6vw,84px)/1 var(--pyb-display);letter-spacing:-.03em;color:var(--pyb-red)}
.pyb-cs-nums span{display:block;margin-top:10px;color:var(--pyb-grey);font-size:16px;max-width:28ch}
.pyb-cs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.pyb-cs-grid figure{margin:0;border-radius:16px;overflow:hidden;background:var(--pyb-line)}
.pyb-cs-grid video,.pyb-cl-media video{width:100%;height:100%;object-fit:cover;display:block;background:var(--pyb-ink)}
.pyb-cs-grid figure.is-video video{object-fit:contain}
.pyb-cs-grid img{width:100%;height:100%;object-fit:cover;display:block}
.pyb-cs-grid figure:first-child:nth-last-child(n+3){grid-column:1/-1}
.pyb-cs-grid figure{position:relative}
.pyb-cs-grid figcaption{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:6px 12px;border-radius:999px;background:rgba(18,16,30,.72);color:#fff;font-size:13px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}
.pyb-cs-grid figure.is-video figcaption{bottom:auto;top:12px}
@media (max-width:700px){.pyb-cs-hitl{grid-template-columns:1fr}.pyb-cl-grid{gap:32px}}
.pyb-cl .pyb-slider-ui{margin-top:28px}

/* 1.2.0 Apertura: logo più grande, titolo più contenuto */
.pyb-tp-logo{width:112px;height:112px;border-radius:26px;font-size:30px}
.pyb-tp-id{gap:18px}
.pyb-tp-title{font-size:clamp(34px,4.2vw,58px);line-height:1.02}
/* Esempi: riquadri piccoli, si aprono a tutto schermo */
.pyb-tp-ex{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.pyb-tp-ex figure{position:relative;margin:0;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:var(--pyb-ink);cursor:zoom-in}
.pyb-tp-ex img,.pyb-tp-ex video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--pyb-ease)}
.pyb-tp-ex figure:hover img,.pyb-tp-ex figure:hover video{transform:scale(1.04)}
.pyb-tp-ex figure.is-video::after{content:"▶";position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(18,16,30,.7);color:#fff;font-size:11px}
.pyb-tp-ex figcaption{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:5px 10px;border-radius:999px;background:rgba(18,16,30,.72);color:#fff;font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pyb-lb{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:clamp(16px,4vw,48px);background:rgba(12,11,20,.92);opacity:0;transition:opacity .3s}
.pyb-lb.is-open{opacity:1}
.pyb-lb img,.pyb-lb video{max-width:100%;max-height:calc(100vh - 120px);border-radius:12px;display:block}
.pyb-lb p{color:#fff;text-align:center;margin:14px 0 0;font-size:14px}
.pyb-lb button{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--pyb-ink);font-size:22px;cursor:pointer}
.pyb-lb .prev,.pyb-lb .next{top:50%;transform:translateY(-50%);right:auto}
.pyb-lb .prev{left:16px}
.pyb-lb .next{left:auto;right:16px}

/* 1.2.1 Scheda: niente etichetta accanto al logo, logo grande */
.pyb-tp-id{margin-bottom:26px}
.pyb-tp-logo{width:132px;height:132px;border-radius:28px;font-size:36px}
.pyb-tp-logo.has-img{display:flex;align-items:center;width:auto;height:clamp(96px,11vw,150px);max-width:min(340px,100%);border-radius:0;justify-content:flex-start}
.pyb-tp-logo.has-img img{width:auto;height:100%;max-width:100%;object-fit:contain;object-position:left center}
/* Catalogo generato dalle schede */
.pyb-tl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.pyb-tl-card{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--pyb-white);border:1px solid var(--pyb-line);border-radius:14px;padding:20px;transition:border-color .3s var(--pyb-ease)}
.pyb-tl-card:hover{border-color:var(--pyb-ink)}
.pyb-tl-card[hidden]{display:none!important}
.pyb-tl-logo{height:64px;display:flex;align-items:center;margin-bottom:8px}
.pyb-tl-logo:not(.has-img){width:56px;height:56px;border-radius:14px;justify-content:center;background:var(--pyb-paper);border:1px dashed var(--pyb-line);font:700 14px var(--pyb-display);color:var(--pyb-grey)}
.pyb-tl-logo img{height:100%;width:auto;max-width:180px;object-fit:contain;object-position:left center}
.pyb-tl-tag{margin:0;font:600 11px/1.3 var(--pyb-body);letter-spacing:.16em;text-transform:uppercase;color:var(--pyb-red)}
.pyb-tl-card h3{margin:0;font:700 20px/1.2 var(--pyb-display);color:var(--pyb-ink)}
.pyb-tl-claim{margin:0;color:var(--pyb-ink);font-weight:600;font-size:15.5px;line-height:1.4}
.pyb-tl-desc{color:var(--pyb-grey);font-size:14px;line-height:1.5}
.pyb-tl-desc p{margin:0 0 8px}
.pyb-tl-more{margin-top:auto;padding-top:6px;color:var(--pyb-red);font-weight:600;font-size:14.5px;text-decoration:none}
.pyb-tl-more::after{content:" \2192"}
.pyb-tl-more::before{content:"";position:absolute;inset:0;border-radius:14px}

/* 1.2.2 Case history in slider: card più contenute, invito a chiedere altri progetti */
.pyb-cl .pyb-cl-slider>.pyb-case{flex:0 0 min(440px,78vw)!important;width:min(440px,78vw)!important}
.pyb-cl .pyb-cl-slider>.pyb-case h3{font-size:20px}
.pyb-cl-more{margin:32px 0 0;font-size:16px;color:var(--pyb-grey)}
.pyb-cl-more a{color:var(--pyb-red);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pyb-cl--grid .pyb-cl-more{margin-top:48px;text-align:center}

/* 1.2.4 Galleria della case history: riquadri piccoli, si aprono a tutto schermo */
.pyb-cs-ex figure.is-video video{object-fit:cover}

/* 1.3.0 Loghi clienti */
.pyb-logos:has(.pyb-logos-empty){display:none!important}
.pyb-logo-item{flex:0 0 auto;display:flex;align-items:center}
.pyb-marquee .pyb-logo-item img{height:48px;width:auto;max-width:180px;object-fit:contain}

/* 1.4.0 Esempi di utilizzo: scambi in forma di chat */
.pyb-chat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px}
.pyb-chat{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--pyb-line);border-radius:20px;background:var(--pyb-white)}
.pyb-chat-q,.pyb-chat-a{max-width:88%;padding:14px 18px;border-radius:18px;font-size:15.5px;line-height:1.55}
.pyb-chat-q p,.pyb-chat-a p{margin:0 0 8px}
.pyb-chat-q p:last-child,.pyb-chat-a p:last-child{margin:0}
.pyb-chat-q{align-self:flex-end;background:var(--pyb-ink);color:#fff;border-bottom-right-radius:6px}
.pyb-chat-a{align-self:flex-start;background:var(--pyb-paper);color:var(--pyb-ink);border-bottom-left-radius:6px}
.pyb-chat-who{display:block;margin-bottom:6px;font:600 11px/1.3 var(--pyb-body);letter-spacing:.14em;text-transform:uppercase;opacity:.65}
.pyb-chat-a .pyb-chat-who{color:var(--tp-accent);opacity:1}

/* 1.5.0 Lavori senza AI */
.pyb-cl-media{position:relative}
.pyb-noai-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--pyb-white);color:var(--pyb-ink);font:600 11px/1.2 var(--pyb-body);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 0 1px rgba(35,31,32,.12)}
.pyb-noai-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#2E8B57}
.pyb-cl-media .pyb-noai-badge{position:absolute;left:12px;top:12px;z-index:2}
.pyb-cs-noai{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 0;color:var(--pyb-grey);font-size:15px}
.pyb-cl-filters-ai{margin-bottom:10px}
.pyb-cl-filters-ai button[data-a="no"].on{background:#2E8B57;border-color:#2E8B57}
.pyb-cl--grid .pyb-cl-filters{align-items:center}
.pyb-cl--grid .pyb-cl-filters::before{content:'Servizi';min-width:96px;font:600 11px/1.2 var(--pyb-body);letter-spacing:.14em;text-transform:uppercase;color:var(--pyb-grey)}
.pyb-cl--grid .pyb-cl-filters-ai::before{content:'Realizzazione'}
@media (max-width:600px){.pyb-cl--grid .pyb-cl-filters::before{flex-basis:100%}}

/* 1.6.0 marchi */
.pyb-tp-educational{--tp-accent:var(--pyb-ink,#231F20)}
.pyb-brands{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.pyb-brand{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:16px;background:var(--pyb-white,#fff);border:1.5px solid var(--pyb-ink,#231F20)}
.pyb-brand-area{margin:0;font:600 11px/1.3 var(--pyb-body);letter-spacing:.16em;text-transform:uppercase;color:var(--pyb-red,#C31C35)}
.pyb-brand-logo img{display:block;height:40px;width:auto;max-width:100%;object-fit:contain;object-position:left center}
.pyb-brand-name{margin:0;font:700 26px/1.1 var(--pyb-display);letter-spacing:-.01em;color:var(--pyb-ink,#231F20)}
.pyb-brand-name.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pyb-brand-desc{margin:0;color:var(--pyb-grey,#6F6A6B);font-size:15px;line-height:1.5}
.pyb-brand .pyb-pack-list{margin:4px 0 0}
.pyb-brand-site{margin-top:auto;padding-top:8px;font:600 14px var(--pyb-body);color:var(--pyb-ink,#231F20);text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.pyb-brands{grid-template-columns:1fr}}

/* 1.8.0 modulo contatti */
.pyb-form .pyb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.pyb-form .note{margin:4px 0 0;padding:12px 14px;border-radius:10px;font-size:15px;line-height:1.5;background:rgba(255,255,255,.12);color:#fff}
.pyb-form .note.is-err{background:rgba(0,0,0,.25)}
.pyb-form button[disabled]{opacity:.7;cursor:wait}

/* 1.9.0 catalogo per marchio */
.pyb-tl-jump{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 8px}
.pyb-tl-jump a{font:600 14px var(--pyb-body);padding:9px 16px;border-radius:999px;border:1.5px solid var(--pyb-line,#D9D6D3);background:var(--pyb-white,#fff);color:var(--pyb-ink,#231F20);text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.pyb-tl-jump a:hover{background:var(--pyb-ink,#231F20);border-color:var(--pyb-ink,#231F20);color:#fff}
.pyb-tl-group{margin-top:clamp(40px,5vw,64px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--pyb-line,#D9D6D3);scroll-margin-top:110px}
.pyb-tl-ghead{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:16px 48px;align-items:end;margin-bottom:24px}
.pyb-tl-garea{margin:0 0 10px;font:600 11px/1.3 var(--pyb-body);letter-spacing:.16em;text-transform:uppercase;color:var(--pyb-red,#C31C35)}
.pyb-tl-glogo img{display:block;height:44px;width:auto;max-width:100%;object-fit:contain;object-position:left center}
.pyb-tl-gname{margin:0;font:700 clamp(30px,3.4vw,44px)/1.05 var(--pyb-display);letter-spacing:-.02em;color:var(--pyb-ink,#231F20)}
.pyb-tl-gname.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pyb-tl-gtxt p{margin:0;color:var(--pyb-grey,#6F6A6B);font-size:17px;line-height:1.55;max-width:58ch}
.pyb-tl-gtxt .pyb-tl-gmeta{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 18px;font:600 14px var(--pyb-body);color:var(--pyb-ink,#231F20)}
.pyb-tl-gmeta a{color:var(--pyb-ink,#231F20);text-decoration:underline;text-underline-offset:3px}
@media (max-width:800px){.pyb-tl-ghead{grid-template-columns:1fr;align-items:start}}

/* 1.9.2 loghi marchi */
.pyb-tl-glogo{margin-top:2px}
.pyb-tl-glogo img{height:clamp(40px,4vw,58px);max-width:min(100%,340px)}

/* 1.9.4 video anteprima nel catalogo, sotto il testo */
.pyb-tl-media{position:relative;margin:auto 0 2px;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--pyb-paper,#F3F2F0)}
.pyb-tl-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pyb-tl-media-ph{position:absolute;inset:0;background:linear-gradient(135deg,var(--pyb-paper,#F3F2F0) 0%,#E8E5E2 100%)}
.pyb-tl-media-ph::before{content:"";position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;border:1.5px solid rgba(35,31,32,.22);background:rgba(255,255,255,.55)}
.pyb-tl-media-ph::after{content:"";position:absolute;left:50%;top:50%;margin:-8px 0 0 -4px;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent rgba(35,31,32,.45)}
.pyb-tl-card .pyb-tl-media{margin-top:auto}
.pyb-tl-card .pyb-tl-media + .pyb-tl-more{margin-top:0}
.pyb-tl-card .pyb-tl-claim{margin-bottom:8px}
.pyb-tl-card .pyb-tl-media + .pyb-tl-more{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 1.9.7 lavorafacile: chat animata nel riquadro di anteprima */
.pyb-tl-media:has(.pyb-lfchat){background:transparent;aspect-ratio:4/3}
.pyb-lfchat{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--lf-bg,#F2F8FD);font:500 10.5px/1.36 var(--pyb-body,sans-serif);color:#231F20;text-align:left}
.pyb-lfchat-bar{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:7px 10px;background:var(--lf,#2E3471);color:#fff;font:600 10.5px/1.1 var(--pyb-body,sans-serif);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pyb-lfchat-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.pyb-lfchat-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:8px 9px;overflow:hidden}
.pyb-lfchat-msg{flex:0 0 auto;max-width:86%;padding:6px 9px;border-radius:11px;transition:opacity .35s ease,transform .35s ease}
.pyb-lfchat-msg.is-q{align-self:flex-end;background:var(--lf,#2E3471);color:#fff;border-bottom-right-radius:3px}
.pyb-lfchat-msg.is-a{align-self:flex-start;background:#fff;color:#231F20;border:1px solid color-mix(in srgb,var(--lf,#64BFED) 45%,transparent);border-bottom-left-radius:3px}
.pyb-lfchat-msg.is-in{opacity:0;transform:translateY(8px)}
.pyb-lfchat-msg.is-typing{padding:0}
.pyb-lfchat-typing{display:inline-flex;gap:3px;padding:8px 10px}
.pyb-lfchat-typing i{width:5px;height:5px;border-radius:50%;background:var(--lf,#64BFED);animation:pybLfDot 1s infinite ease-in-out}
.pyb-lfchat-typing i:nth-child(2){animation-delay:.15s}
.pyb-lfchat-typing i:nth-child(3){animation-delay:.3s}
@keyframes pybLfDot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* 2.0.0 pyb AI Tools: anteprime 4:3, immagini, orchestrazione di agenti animata */
#tool-pybtools .pyb-tl-media{aspect-ratio:4/3}
.pyb-tl-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left top;display:block}
.pyb-orch{position:absolute;inset:0;display:flex;flex-direction:column;background:#F3F2F0;font:500 10.5px/1.3 var(--pyb-body,sans-serif);color:#231F20;text-align:left}
.pyb-orch-bar{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:7px 10px;background:#231F20;color:#fff;font:600 10.5px/1.1 var(--pyb-body,sans-serif);letter-spacing:.02em}
.pyb-orch-dot{width:7px;height:7px;border-radius:50%;background:#C31C35;box-shadow:0 0 0 3px rgba(195,28,53,.3);animation:pybOrchPulse 1.6s infinite ease-in-out}
.pyb-orch-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px 10px 9px}
.pyb-orch-brief{margin:0;padding:5px 8px;background:#fff;border-radius:7px;border-left:3px solid #C31C35;font-weight:600}
.pyb-orch-list{list-style:none;margin:0 0 0 6px;padding:0 0 0 11px;border-left:1.5px dashed rgba(35,31,32,.25);display:grid;gap:4px}
.pyb-orch-list li{display:flex;align-items:center;gap:6px;margin:0;padding:0}
.pyb-orch-list i{flex:0 0 auto;width:9px;height:9px;margin-left:-16.5px;border-radius:50%;border:1.5px solid rgba(35,31,32,.35);background:#F3F2F0;transition:background .3s,border-color .3s}
.pyb-orch-list span{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pyb-orch-list b{flex:0 0 auto;font-size:9.5px;font-weight:600;color:#8A8486}
.pyb-orch-list .is-wait b::after{content:"in attesa"}
.pyb-orch-list .is-run i{background:#C31C35;border-color:#C31C35;animation:pybOrchPulse 1s infinite ease-in-out}
.pyb-orch-list .is-run b{color:#C31C35}
.pyb-orch-list .is-run b::after{content:"in corso\2026"}
.pyb-orch-list .is-done i{background:#231F20;border-color:#231F20}
.pyb-orch-list .is-done b{color:#231F20}
.pyb-orch-list .is-done b::after{content:"fatto \2713"}
.pyb-orch-done{margin:auto 0 0;padding:5px 8px;border-radius:7px;background:#231F20;color:#fff;font-weight:600;transition:opacity .35s ease,transform .35s ease}
.pyb-orch-done::before{content:"\2713  "}
.pyb-orch-done.is-hide{opacity:0;transform:translateY(6px)}
@keyframes pybOrchPulse{0%,100%{box-shadow:0 0 0 0 rgba(195,28,53,.35)}50%{box-shadow:0 0 0 4px rgba(195,28,53,0)}}

/* 2.0.2 MyWeekbook: screenshot intero, senza tagli */
.pyb-tl-card.cat-educational .pyb-tl-media{background:#0F2B33}
.pyb-tl-card.cat-educational .pyb-tl-media>img{object-fit:contain;object-position:center}

/* 2.0.3 Underlab: prima e dopo con prompt */
#tool-underlab .pyb-tl-media{aspect-ratio:4/3}
.pyb-ba{position:absolute;inset:0;overflow:hidden;background:#2B2B2B;font:500 10.5px/1.35 var(--pyb-body,sans-serif);text-align:left}
.pyb-ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pyb-ba-after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
.pyb-ba-line{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.35)}
.pyb-ba-tag{position:absolute;top:8px;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-weight:600;font-size:9px;letter-spacing:.08em;text-transform:uppercase;transition:opacity .4s ease}
.pyb-ba-tag.is-b{left:8px}
.pyb-ba-tag.is-a{right:8px;background:#F47A24}
.pyb-ba-prompt{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:7px;align-items:flex-start;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.95);color:#2B2B2B;box-shadow:0 4px 14px rgba(0,0,0,.22);transition:opacity .4s ease}
.pyb-ba-ico{position:relative;flex:0 0 auto;width:15px;height:15px;margin-top:1px;border-radius:5px;background:#F47A24}
.pyb-ba-ico::after{content:"\2726";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;line-height:1}
.pyb-ba-txt{min-height:2.7em}
.pyb-ba-txt.is-typing::after{content:"|";margin-left:1px;color:#F47A24;animation:pybBaBlink .8s steps(1) infinite}
.pyb-ba.is-gen .pyb-ba-ico{animation:pybBaSpin 1.1s linear infinite}
.pyb-ba.is-gen .pyb-ba-txt::after{content:"  Generazione\2026";color:#F47A24;font-weight:600}
@keyframes pybBaBlink{50%{opacity:0}}
@keyframes pybBaSpin{to{transform:rotate(360deg)}}


/* PYB_SOON_V1: tool in arrivo, scheda non cliccabile */
.pyb-tp-card.is-soon{cursor:default;opacity:.62}
.pyb-tp-card.is-soon:hover{border-color:var(--pyb-line);transform:none}
.pyb-tp-card.is-soon .pyb-tp-more{color:var(--pyb-grey)}

/* 2.6.4: pulsante audio sui video con voce */
.pyb-has-snd { position: relative; }
.pyb-snd { position: absolute; right: clamp(12px, 2vw, 24px); bottom: clamp(12px, 2vw, 24px); z-index: 5; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 10px 16px 10px 12px; border: 0; border-radius: 999px; cursor: pointer; background: rgba(35, 31, 32, .74); color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: .01em; box-shadow: 0 8px 24px -8px rgba(0, 0, 0, .45); transition: background .2s ease, transform .2s ease; }
.pyb-snd:hover { background: #C31C35; color: #fff; transform: translateY(-1px); }
.pyb-snd:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.pyb-snd.is-on { background: #C31C35; }
.pyb-snd-ico { display: inline-flex; width: 20px; height: 20px; }
.pyb-snd-ico svg { width: 100%; height: 100%; }
.pyb-snd:not(.is-on) .pyb-snd-ico { animation: pyb-snd-pulse 2.4s ease-in-out infinite; }
@keyframes pyb-snd-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.14); } }
.pyb-tl-group-pybtools .pyb-snd:hover, .pyb-tl-group-pybtools .pyb-snd.is-on { background: #D93626; }
@media (max-width: 600px) { .pyb-snd { padding: 9px; } .pyb-snd-lbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { .pyb-snd-ico { animation: none !important; } }
