/*
Theme Name: ThinkAI 2
Theme URI: https://thinkai.it
Author: ThinkAI
Author URI: https://thinkai.it
Description: Tema custom per ThinkAI — AI Brand Governance. Design system: Space Grotesk + DM Sans, Carbon & Teal palette.
Version: 2.0.33
License: Proprietary
Text Domain: thinkai
*/

/* ===== RESET & VARIABLES ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --c:#1A1A1A;
  --t:#0D7377;
  --tl:#0f8a8f;
  --td:#0a5c5f;
  --t10:rgba(13,115,119,.1);
  --t05:rgba(13,115,119,.05);
  --w:#F5F3F0;
  --wa:#EDEAE5;
  --g5:#686868;
  --g6:#666;
  --g7:#444;
  --wh:#fff;
  --fh:'Space Grotesk',sans-serif;
  --fb:'DM Sans',sans-serif;
  --ez:cubic-bezier(.16,1,.3,1)
}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--fb);color:var(--c);background:var(--w);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.ctn{max-width:1280px;margin:0 auto;padding:0 40px}

/* Noise texture */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== REVEAL ANIMATION ===== */
.rv-ready .rv{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ez),transform .7s var(--ez)}
.rv-ready .rv.vis{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ===== SECTION LABEL ===== */
.sl{font-family:var(--fh);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--t);margin-bottom:40px;display:flex;align-items:center;gap:12px}
.sl::before{content:'';width:24px;height:1.5px;background:var(--t)}

/* ===== NAVIGATION ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;transition:all .4s}
.nav.sc{background:rgba(245,243,240,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:14px 0;box-shadow:0 1px 0 rgba(26,26,26,.06)}
.ni{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 40px}
.nl{display:flex;align-items:center}.nl img{height:26px;width:auto}
.nk{display:flex;align-items:center;gap:36px}
@media(max-width:1280px){.nk{gap:20px}.nk a{font-size:13px}.nc{padding:10px 20px}}
.nk a{font-family:var(--fb);font-size:14px;font-weight:500;color:var(--c);letter-spacing:.01em;transition:color .3s;position:relative}
.nk a:not(.nc)::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--t);transition:width .3s var(--ez)}
.nk a:not(.nc):hover::after{width:100%}
.nk a.active{color:var(--t)}.nk a.active::after{width:100%}
.nc{font-size:13px!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase;background:var(--t);color:var(--wh)!important;padding:12px 28px;border-radius:100px;transition:all .3s!important}
.nc:hover{background:var(--tl)!important;transform:translateY(-1px)}
.nt{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;z-index:9999;background:none;border:none}
.nt span{width:24px;height:2px;background:var(--c);transition:all .3s;border-radius:2px;display:block}
.nt.act span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nt.act span:nth-child(2){opacity:0}
.nt.act span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ===== HERO (HOMEPAGE) ===== */
.hero{min-height:100vh;display:flex;align-items:center;padding:140px 0 80px;position:relative;overflow:hidden}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(13,115,119,.045) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.hf{position:absolute;pointer-events:none}
.hf1{top:12%;right:6%;width:180px;height:180px;border:1.5px solid var(--t);opacity:.06;border-radius:50%;animation:fl1 8s ease-in-out infinite}
.hf2{bottom:18%;right:20%;width:50px;height:50px;border:1.5px solid var(--t);opacity:.05;transform:rotate(45deg);animation:fl2 12s ease-in-out infinite}
.hf3{top:35%;right:32%;width:10px;height:10px;background:var(--t);opacity:.12;border-radius:50%;animation:fl3 6s ease-in-out infinite}
@keyframes fl1{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-18px) scale(1.02)}}
@keyframes fl2{0%,100%{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(-12px)}}
@keyframes fl3{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-row{display:flex;gap:48px;align-items:flex-start;position:relative;z-index:2}
.hero-left{flex:1;max-width:620px;padding-top:20px}
.hero-left h1{font-family:var(--fh);font-size:clamp(40px,5.2vw,68px);font-weight:700;line-height:1.06;letter-spacing:-.03em;margin-bottom:24px}
.hero-left h1 .tl{color:var(--t);position:relative}
.hero-left h1 .tl::after{content:'';position:absolute;bottom:2px;left:0;right:0;height:6px;background:var(--t);opacity:.12;border-radius:3px}
.hero-sub{font-size:19px;line-height:1.7;color:var(--g6);max-width:500px;margin-bottom:32px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--t05);border:1px solid var(--t10);border-radius:100px;font-size:13px;font-weight:500;color:var(--t)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--t);position:relative}
.pulse::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--t);opacity:.4;animation:plsr 2s ease-in-out infinite}
@keyframes plsr{0%,100%{transform:scale(1);opacity:.4}50%{transform:scale(1.6);opacity:0}}

/* Hero cards */
.hero-right{width:380px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;padding-top:8px}
.hcard{background:var(--wh);border-radius:16px;padding:28px 24px;box-shadow:0 4px 32px rgba(26,26,26,.06);border:1px solid rgba(26,26,26,.04);position:relative;overflow:hidden}
.hcard::before{content:'';position:absolute;top:0;left:24px;right:24px;height:1.5px;background:linear-gradient(90deg,transparent,var(--t10),transparent)}
.hc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.hc-label{font-family:var(--fh);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t)}
.hc-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#c04040}
.hc-dot{width:6px;height:6px;border-radius:50%;background:#c04040;box-shadow:0 0 6px rgba(192,64,64,.4)}
.hc-meter{height:5px;border-radius:3px;background:#eee;margin-bottom:8px;overflow:hidden}
.hc-meter-fill{height:100%;border-radius:3px}
.hc-text{font-size:12px;color:var(--g5);line-height:1.5}
.hc-chat{display:flex;gap:10px;align-items:flex-start}
.hc-avatar{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--t05),var(--t10));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hc-avatar svg{width:14px;height:14px;stroke:var(--t);fill:none;stroke-width:1.5}
.hc-bubble{flex:1;font-size:12.5px;line-height:1.6;color:var(--g7)}
.hc-warn{display:inline;background:rgba(200,120,30,.1);color:#8a5a1a;padding:1px 6px;border-radius:4px;font-weight:600;font-size:11px}
.hc-tags{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.hc-tag{padding:3px 10px;border-radius:20px;font-size:10px;font-weight:600}
.tag-w{background:rgba(200,120,30,.1);color:#8a5a1a}
.tag-r{background:rgba(192,40,40,.1);color:#a03030}
.tag-g{background:rgba(13,115,119,.1);color:var(--t)}

/* ===== TRUST STRIP ===== */
.trust{padding:52px 0;border-top:1px solid rgba(26,26,26,.06);border-bottom:1px solid rgba(26,26,26,.06);overflow:hidden;background:var(--wh)}
.trust-lab{text-align:center;font-size:13px;font-weight:500;color:var(--g5);letter-spacing:.04em;margin-bottom:22px}
.trust-trk{display:flex;gap:64px;animation:scx 28s linear infinite;width:max-content}
.trust-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--c);opacity:.35;transition:opacity .3s}
.trust-logo:hover{opacity:.55}
.trust-logo svg{width:24px;height:24px;flex-shrink:0}
.trust-logo span{font-family:var(--fh);font-size:14px;font-weight:600;white-space:nowrap}
@keyframes scx{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== SHARED SECTIONS ===== */
.sec{padding:120px 0}
.sec-alt{background:var(--wh)}
.sec-dark{background:var(--c);color:var(--wh)}
.sec h2{font-family:var(--fh);font-size:clamp(28px,3.5vw,44px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin-bottom:24px}
.sec-intro{font-size:17px;line-height:1.8;color:var(--g6);max-width:640px;margin-bottom:56px}
.sec-dark .sec-intro{color:rgba(255,255,255,.65)}
.sec-dark .sl{color:var(--t)}.sec-dark .sl::before{background:var(--t)}

/* ===== PROBLEM: 4 OPS GRID ===== */
.prob{padding:160px 0;position:relative;overflow:hidden}
.prob::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border:1.5px solid var(--t);opacity:.04;border-radius:50%;pointer-events:none}
.prob-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:start;margin-bottom:80px}
.prob h2{font-family:var(--fh);font-size:clamp(30px,3.8vw,50px);font-weight:700;line-height:1.12;letter-spacing:-.02em}
.prob-t{padding-top:12px}
.prob-t p{font-size:17px;line-height:1.8;color:var(--g6);margin-bottom:28px}
.prob-ops{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pop{background:var(--wh);border-radius:16px;padding:32px 24px;border:1px solid rgba(26,26,26,.04);transition:transform .4s var(--ez),box-shadow .4s var(--ez)}
.pop:hover{transform:translateY(-6px);box-shadow:0 12px 48px rgba(26,26,26,.08)}
.pop-num{font-family:var(--fh);font-size:13px;font-weight:600;color:var(--t);letter-spacing:.08em;margin-bottom:12px}
.pop h3{font-family:var(--fh);font-size:18px;font-weight:600;margin-bottom:10px;line-height:1.3}
.pop p{font-size:14px;line-height:1.7;color:var(--g6)}
.ba{font-family:var(--fb);font-size:14px;font-weight:600;color:var(--t);display:inline-flex;align-items:center;gap:10px;transition:gap .3s var(--ez)}
.ba:hover{gap:16px}
.hl-box{border-left:3px solid var(--t);padding:18px 22px;background:var(--t05);border-radius:0 12px 12px 0;margin-bottom:32px;font-size:15px;line-height:1.7;color:var(--g7);font-style:italic}

/* ===== METHOD SECTION ===== */
.meth{padding:160px 0;background:var(--c);color:var(--wh);position:relative;overflow:hidden}
.meth-glow{position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(13,115,119,.12) 0%,transparent 60%);pointer-events:none}
.meth-glow2{position:absolute;bottom:-100px;left:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(13,115,119,.06) 0%,transparent 60%);pointer-events:none}
.meth-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:80px 80px;pointer-events:none}
.meth .sl{color:var(--t)}.meth .sl::before{background:var(--t)}
.meth-sub{font-size:18px;color:rgba(255,255,255,.65);margin-bottom:80px;max-width:540px}
.meth-list{position:relative;z-index:2}
.mi{padding:44px 0;border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:100px 1fr;gap:40px;align-items:start;cursor:default}
.mi:last-child{border-bottom:1px solid rgba(255,255,255,.07)}
.mi-n{font-family:var(--fh);font-size:16px;font-weight:600;color:var(--t);padding-top:14px;letter-spacing:.08em}
.mi h3{font-family:var(--fh);font-size:clamp(24px,3vw,42px);font-weight:700;line-height:1.1;letter-spacing:-.02em;transition:color .3s}
.mi:hover h3{color:var(--t)}
.mi-d{font-size:16px;line-height:1.75;color:rgba(255,255,255,.65);max-width:600px;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ez),opacity .4s,margin-top .4s}
.mi:hover .mi-d,.mi.act .mi-d{max-height:200px;opacity:1;margin-top:20px}

/* ===== PILLARS ===== */
.pill{padding:160px 0;position:relative;overflow:hidden}
.pill-dots{position:absolute;top:40px;right:40px;display:grid;grid-template-columns:repeat(8,1fr);gap:18px;pointer-events:none;opacity:.06}
.pill-dots span{width:4px;height:4px;border-radius:50%;background:var(--t)}
.pill-hd{margin-bottom:72px;max-width:560px}
.pill-hd h2{font-family:var(--fh);font-size:clamp(30px,3.8vw,46px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin-top:8px}
.pill-gr{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pc{background:var(--wh);border-radius:16px;padding:36px 28px;position:relative;overflow:hidden;transition:transform .4s var(--ez),box-shadow .4s var(--ez);border:1px solid rgba(26,26,26,.04)}
.pc:hover{transform:translateY(-8px);box-shadow:0 16px 64px rgba(26,26,26,.1)}
.pc::after{content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,var(--t05),transparent 70%);opacity:0;transition:opacity .4s}
.pc:hover::after{opacity:1}
.pc-ico{width:48px;height:48px;border-radius:14px;background:var(--t05);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.pc-ico svg{width:24px;height:24px;stroke:var(--t);fill:none;stroke-width:1.5}
.pc-label{font-family:var(--fh);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t);margin-bottom:8px}
.pc h3{font-family:var(--fh);font-size:22px;font-weight:600;line-height:1.3;margin-bottom:14px}
.pc p{font-size:15px;line-height:1.7;color:var(--g6)}

/* Dark pillars variant */
.sec-dark .pc{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.sec-dark .pc:hover{box-shadow:0 16px 64px rgba(0,0,0,.3)}
.sec-dark .pc-ico{background:rgba(13,115,119,.15)}
.sec-dark .pc-ico svg{stroke:var(--tl)}
.sec-dark .pc h3{color:var(--wh)}
.sec-dark .pc p{color:rgba(255,255,255,.65)}

/* ===== AUDIT CARD ===== */
.aud{padding:160px 0;background:var(--wa);position:relative;overflow:hidden}
.aud::before{content:'';position:absolute;bottom:-120px;left:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,var(--t05),transparent 60%);pointer-events:none}
.aud-hd{text-align:center;margin-bottom:64px}
.aud-hd h2{font-family:var(--fh);font-size:clamp(30px,3.8vw,46px);font-weight:700;line-height:1.12;letter-spacing:-.02em}
.ac{max-width:780px;margin:0 auto;background:var(--wh);border-radius:24px;padding:52px 48px;box-shadow:0 8px 60px rgba(26,26,26,.07);position:relative;overflow:hidden}
.ac::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--t),var(--tl),var(--t))}
.ac-intro{font-size:17px;line-height:1.75;color:var(--g6);margin-bottom:36px}
.ac-del{display:flex;flex-direction:column;gap:0;margin-bottom:36px}
.del{padding:22px 0;border-bottom:1px solid rgba(26,26,26,.06)}
.del:last-child{border-bottom:none}
.del h3{font-family:var(--fh);font-size:16px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.del h3::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--t);flex-shrink:0}
.del p{font-size:14.5px;line-height:1.7;color:var(--g6);padding-left:16px}
.ac-meta{display:flex;gap:28px;padding:22px 0;border-top:1px solid rgba(26,26,26,.06);margin-bottom:32px;flex-wrap:wrap}
.ac-mi{font-size:14px;font-weight:500;color:var(--g6);display:flex;align-items:center;gap:8px}
.ac-mi .dt{width:4px;height:4px;border-radius:50%;background:var(--t)}

/* ===== BUTTON PRIMARY ===== */
.bp{display:inline-flex;align-items:center;gap:10px;font-family:var(--fb);font-size:13px;font-weight:700;background:var(--t);color:var(--wh);padding:16px 36px;border-radius:100px;border:none;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:.05em}
.bp:hover{background:var(--tl);transform:translateY(-2px)}

/* ===== FAQ ===== */
.faq{padding:160px 0}
.faq-hd{margin-bottom:64px}
.faq-hd h2{font-family:var(--fh);font-size:clamp(30px,3.8vw,46px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin-top:8px}
.faq-l{max-width:860px}
.fi{border-bottom:1px solid rgba(26,26,26,.08)}
.fq{width:100%;text-align:left;background:none;border:none;font-family:var(--fh);font-size:18px;font-weight:600;color:var(--c);padding:28px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;line-height:1.4;transition:color .3s}
.fq:hover{color:var(--t)}
.f-ico{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(26,26,26,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s}
.fi.open .f-ico{background:var(--t);border-color:var(--t)}
.f-ico svg{width:12px;height:12px;stroke:var(--c);transition:all .3s}
.fi.open .f-ico svg{stroke:var(--wh);transform:rotate(45deg)}
.faq-ready .fa{max-height:0;overflow:hidden;transition:max-height .5s var(--ez)}
.fa-in{padding-bottom:28px;font-size:16px;line-height:1.75;color:var(--g6);max-width:680px}

/* ===== CTA FINALE ===== */
.ctaf{padding:140px 0;background:var(--c);text-align:center;position:relative;overflow:hidden}
.ctaf::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(13,115,119,.08),transparent 60%);pointer-events:none}
.ctaf-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.ctaf h2{font-family:var(--fh);font-size:clamp(34px,4.5vw,56px);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--wh);margin-bottom:20px;position:relative}
.ctaf-s{font-size:18px;line-height:1.6;color:rgba(255,255,255,.65);margin-bottom:48px;position:relative}
.ctaf .bp{position:relative;font-size:14px;padding:18px 44px}

/* ===== CTA SECTION (inner pages) ===== */
.cta-sec{padding:120px 0;background:var(--c);text-align:center;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(13,115,119,.08),transparent 60%);pointer-events:none}
.cta-sec .ctn{position:relative;z-index:2}
.cta-sec h2{font-family:var(--fh);font-size:clamp(28px,3.5vw,42px);font-weight:700;line-height:1.12;color:var(--wh);margin-bottom:20px}
.cta-sec p{font-size:17px;color:rgba(255,255,255,.65);margin-bottom:40px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.6}
.cta-links{margin-top:20px}
.cta-links a{font-size:14px;font-weight:500;color:rgba(255,255,255,.65);transition:color .3s}
.cta-links a:hover{color:var(--wh)}

/* ===== PAGE HERO (inner pages) ===== */
.phero{padding:180px 0 100px;position:relative;overflow:hidden}
.phero-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(13,115,119,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.phero-circle{position:absolute;top:-80px;right:-80px;width:400px;height:400px;border:1.5px solid var(--t);opacity:.05;border-radius:50%;pointer-events:none}
.phero-inner{position:relative;z-index:2;max-width:720px}
.phero-inner h1{font-family:var(--fh);font-size:clamp(34px,4.5vw,58px);font-weight:700;line-height:1.08;letter-spacing:-.025em;margin-bottom:28px}
.phero-sub{font-size:19px;line-height:1.75;color:var(--g6);margin-bottom:20px;max-width:600px}

/* Stats */
.stats{display:flex;gap:32px;flex-wrap:wrap}
.stat{background:var(--wh);border-radius:14px;padding:22px 24px;border:1px solid rgba(26,26,26,.04);box-shadow:0 2px 16px rgba(26,26,26,.04);min-width:160px}
.stat-num{font-family:var(--fh);font-size:32px;font-weight:700;color:var(--t);line-height:1;margin-bottom:6px}
.stat-label{font-size:13px;color:var(--g5);line-height:1.4}
.stat-label a{display:inline-block;margin-top:6px;font-size:12px;text-decoration:underline}

/* ===== SOURCE CARDS (il-problema) ===== */
.src-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.src-card{background:var(--wh);border-radius:14px;padding:28px 22px;border:1px solid rgba(26,26,26,.04);transition:transform .4s var(--ez),box-shadow .4s var(--ez)}
.src-card:hover{transform:translateY(-6px);box-shadow:0 12px 48px rgba(26,26,26,.08)}
.src-num{font-family:var(--fh);font-size:13px;font-weight:600;color:var(--t);letter-spacing:.08em;margin-bottom:12px}
.src-card h3{font-family:var(--fh);font-size:16px;font-weight:600;margin-bottom:8px;line-height:1.3}
.src-card p{font-size:13.5px;line-height:1.65;color:var(--g6)}
.src-close{margin-top:48px;font-size:17px;line-height:1.8;color:var(--g6);max-width:700px;border-left:3px solid var(--t);padding-left:24px}

/* ===== OPS GRID (il-problema) ===== */
.ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.op{background:var(--wh);border-radius:16px;padding:36px 26px;border:1px solid rgba(26,26,26,.04);transition:transform .4s var(--ez),box-shadow .4s var(--ez);position:relative;overflow:hidden}
.op:hover{transform:translateY(-6px);box-shadow:0 12px 48px rgba(26,26,26,.08)}
.op::after{content:'';position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,var(--t05),transparent 70%);opacity:0;transition:opacity .4s}
.op:hover::after{opacity:1}
.op-num{font-family:var(--fh);font-size:13px;font-weight:600;color:var(--t);letter-spacing:.08em;margin-bottom:14px}
.op h3{font-family:var(--fh);font-size:20px;font-weight:600;margin-bottom:10px;line-height:1.3}
.op p{font-size:14.5px;line-height:1.7;color:var(--g6)}
.bquote{margin-top:56px;font-family:var(--fh);font-size:22px;font-weight:500;line-height:1.5;color:var(--t);max-width:560px;position:relative;padding-left:28px}
.bquote::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--t);border-radius:2px}

/* ===== TOOL TABLE (il-problema) ===== */
.tool-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:900px}
.tool-row{display:grid;grid-template-columns:200px 1fr 1fr;gap:24px;padding:28px;background:var(--wh);border-radius:14px;border:1px solid rgba(26,26,26,.04);align-items:start}
.tool-name{font-family:var(--fh);font-size:15px;font-weight:600;color:var(--c)}
.tool-limit{font-size:14px;line-height:1.65;color:var(--g6)}
.tool-quote{font-size:13.5px;line-height:1.6;color:var(--g5);font-style:italic;padding-left:16px;border-left:2px solid var(--t10)}

/* ===== COST SECTION (il-problema) ===== */
.cost-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:48px}
.cost-card{display:flex;gap:16px;align-items:flex-start;padding:24px;background:var(--wh);border-radius:14px;border:1px solid rgba(26,26,26,.04)}
.cost-ico{width:36px;height:36px;border-radius:10px;background:rgba(192,64,64,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cost-ico svg{width:18px;height:18px;stroke:#c04040;fill:none;stroke-width:1.5}
.cost-card p{font-size:15px;line-height:1.7;color:var(--g6)}
.cost-highlight{background:var(--t05);border-left:3px solid var(--t);padding:24px 28px;border-radius:0 14px 14px 0;font-size:16px;line-height:1.7;color:var(--g7)}

/* ===== PHASE CARDS (il-metodo) ===== */
.phase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.phase{background:var(--wh);border-radius:20px;padding:44px 36px;border:1px solid rgba(26,26,26,.04);position:relative;overflow:hidden;transition:transform .4s var(--ez),box-shadow .4s var(--ez)}
.phase:hover{transform:translateY(-6px);box-shadow:0 16px 64px rgba(26,26,26,.1)}
.phase::before{content:'';position:absolute;top:0;left:36px;right:36px;height:1.5px;background:linear-gradient(90deg,transparent,var(--t10),transparent)}
.phase-num{font-family:var(--fh);font-size:14px;font-weight:600;color:var(--t);letter-spacing:.08em;margin-bottom:16px}
.phase h3{font-family:var(--fh);font-size:26px;font-weight:700;margin-bottom:14px;line-height:1.2}
.phase p{font-size:15px;line-height:1.75;color:var(--g6);margin-bottom:16px}
.phase-output{font-size:13px;font-weight:500;color:var(--t);display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid rgba(26,26,26,.06)}
.phase-output svg{width:14px;height:14px;stroke:var(--t);fill:none;stroke-width:2}
.cycle-note{margin-top:40px;font-size:15px;line-height:1.7;color:var(--g6);max-width:640px;border-left:3px solid var(--t);padding-left:24px}

/* ===== KPI GRID (il-metodo) ===== */
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.kpi{background:var(--wh);border-radius:16px;padding:32px 26px;border:1px solid rgba(26,26,26,.04);transition:transform .3s var(--ez)}
.kpi:hover{transform:translateY(-4px)}
.kpi h4{font-family:var(--fh);font-size:16px;font-weight:600;margin-bottom:8px;line-height:1.3}
.kpi p{font-size:14px;line-height:1.65;color:var(--g6)}
.kpi-tm{font-size:11px;color:var(--t);font-weight:600}

/* ===== SCORECARD (il-metodo) ===== */
.score-card{max-width:700px;background:var(--wh);border-radius:20px;padding:44px 40px;box-shadow:0 8px 48px rgba(26,26,26,.06);border:1px solid rgba(26,26,26,.04);position:relative;overflow:hidden}
.score-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--t),var(--tl),var(--t))}
.score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.score-title{font-family:var(--fh);font-size:20px;font-weight:600}
.score-num{font-family:var(--fh);font-size:48px;font-weight:700;color:var(--t);line-height:1}
.score-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(26,26,26,.06)}
.score-row:last-child{border-bottom:none}
.score-area{font-size:14px;font-weight:500}
.score-weight{font-size:13px;color:var(--g5)}

/* ===== AUDIT STEPS (laudit) ===== */
.steps{display:flex;flex-direction:column;gap:0;max-width:800px}
.step{display:grid;grid-template-columns:80px 1fr;gap:32px;padding:40px 0;border-bottom:1px solid rgba(26,26,26,.06);align-items:start}
.step:last-child{border-bottom:none}
.step-num{font-family:var(--fh);font-size:40px;font-weight:300;color:var(--t);opacity:.3;line-height:1}
.step h3{font-family:var(--fh);font-size:20px;font-weight:600;margin-bottom:8px}
.step p{font-size:15px;line-height:1.7;color:var(--g6)}

/* Deliverable cards (laudit) */
.del-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.del-card{background:var(--wh);border-radius:18px;padding:36px 28px;border:1px solid rgba(26,26,26,.04);position:relative;overflow:hidden;transition:transform .4s var(--ez),box-shadow .4s var(--ez)}
.del-card:hover{transform:translateY(-6px);box-shadow:0 12px 48px rgba(26,26,26,.08)}
.del-card::before{content:'';position:absolute;top:0;left:28px;right:28px;height:1.5px;background:linear-gradient(90deg,transparent,var(--t10),transparent)}
.del-ico{width:44px;height:44px;border-radius:12px;background:var(--t05);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.del-ico svg{width:22px;height:22px;stroke:var(--t);fill:none;stroke-width:1.5}
.del-card h3{font-family:var(--fh);font-size:18px;font-weight:600;margin-bottom:10px;line-height:1.3}
.del-card p{font-size:14.5px;line-height:1.7;color:var(--g6)}

/* Details bar (laudit) */
.details{display:flex;gap:40px;flex-wrap:wrap;margin-bottom:40px}
.detail{display:flex;align-items:center;gap:10px}
.detail-ico{width:36px;height:36px;border-radius:10px;background:var(--t05);display:flex;align-items:center;justify-content:center}
.detail-ico svg{width:18px;height:18px;stroke:var(--t);fill:none;stroke-width:1.5}
.detail-text{font-size:15px;font-weight:500}

/* Who grid (laudit) */
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.who{background:var(--wh);border-radius:14px;padding:28px 24px;border:1px solid rgba(26,26,26,.04)}
.who h4{font-family:var(--fh);font-size:16px;font-weight:600;margin-bottom:8px}
.who p{font-size:14px;line-height:1.65;color:var(--g6)}

/* ===== CHI SIAMO ===== */
.pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px}
.pos{background:var(--wh);border-radius:16px;padding:32px 26px;border:1px solid rgba(26,26,26,.04);transition:transform .3s var(--ez)}
.pos:hover{transform:translateY(-4px)}
.pos h3{font-family:var(--fh);font-size:18px;font-weight:600;margin-bottom:10px;color:var(--t)}
.pos p{font-size:14.5px;line-height:1.7;color:var(--g6)}
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.val{padding:28px 0}
.val h3{font-family:var(--fh);font-size:17px;font-weight:600;margin-bottom:8px}
.val p{font-size:14.5px;line-height:1.7;color:var(--g6)}
.val-line{width:32px;height:2px;background:var(--t);margin-bottom:16px;border-radius:1px}
.cmp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cmp{border-radius:16px;padding:36px 28px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.cmp h3{font-family:var(--fh);font-size:18px;font-weight:600;color:var(--wh);margin-bottom:12px}
.cmp p{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.65)}
.cmp-hl{border-color:var(--t);background:rgba(13,115,119,.08)}
.cmp-hl h3{color:var(--tl)}

/* ===== BLOG ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:48px}
.blog-card{background:var(--wh);border-radius:16px;overflow:hidden;border:1px solid rgba(26,26,26,.04);transition:transform .4s var(--ez),box-shadow .4s var(--ez)}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 12px 48px rgba(26,26,26,.08)}
.blog-card-img{width:100%;aspect-ratio:16/9;background:var(--wa);overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover}
.blog-card-body{padding:28px 24px}
.blog-card-meta{font-size:12px;color:var(--g5);margin-bottom:12px;display:flex;gap:12px}
.blog-card-meta a{color:inherit;text-decoration:none}.blog-card-meta a:hover{color:var(--t)}
.post-category-label a{color:inherit;text-decoration:none}.post-category-label a:hover{text-decoration:underline}
.blog-card-body h2{font-family:var(--fh);font-size:20px;font-weight:600;line-height:1.3;margin-bottom:10px}
.blog-card-body h2 a{transition:color .3s}
.blog-card-body h2 a:hover{color:var(--t)}
.blog-card-body p{font-size:14px;line-height:1.65;color:var(--g6)}

/* Single post */
.post-content{max-width:720px;margin:0 auto}
.post-content h1{font-family:var(--fh);font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin-bottom:20px}
.post-deck{font-family:var(--fb);font-size:20px;font-weight:400;line-height:1.55;color:var(--g6);margin:0 0 32px;max-width:720px;letter-spacing:-.005em}
.post-meta{font-size:14px;color:var(--g5);margin-bottom:48px;display:flex;gap:16px}
.post-content h2{font-family:var(--fh);font-size:28px;font-weight:600;margin:48px 0 16px;line-height:1.2}
.post-content h3{font-family:var(--fh);font-size:22px;font-weight:600;margin:36px 0 12px;line-height:1.3}
.post-content p{font-size:17px;line-height:1.85;color:var(--g7);margin-bottom:24px}
.post-content ul,.post-content ol{margin:0 0 24px 24px;font-size:17px;line-height:1.85;color:var(--g7)}
.post-content li{margin-bottom:8px}
.post-content blockquote{border-left:3px solid var(--t);padding:16px 24px;margin:32px 0;background:var(--t05);border-radius:0 12px 12px 0;font-style:italic;color:var(--g7)}
.post-content img{border-radius:12px;margin:32px 0}
.post-content a{color:var(--t);text-decoration:underline;text-underline-offset:3px}

/* Pagination */
.pagination{display:flex;gap:8px;justify-content:center}
.pagination a,.pagination span{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;border:1px solid rgba(26,26,26,.08)}
.pagination .current{background:var(--t);color:var(--wh);border-color:var(--t)}

/* ===== FOOTER ===== */
.foot{padding:80px 0 40px;background:var(--c);color:rgba(255,255,255,.65);border-top:1px solid rgba(255,255,255,.06)}
.foot-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.foot-brand p{font-size:14px;line-height:1.7;margin-top:20px;max-width:300px}
.foot-brand .fl{height:22px;width:auto;opacity:.9}
.foot-sede{font-size:13px;margin-top:14px;color:rgba(255,255,255,.55)}
.foot .foot-h{font-family:var(--fh);font-size:13px;font-weight:600;color:var(--wh);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}
.foot-lk{display:flex;flex-direction:column;gap:12px}
.foot-lk a{font-size:14px;transition:color .3s}
.foot-lk a:hover{color:var(--wh)}
.foot-b{padding-top:32px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(255,255,255,.5)}

/* Breadcrumb */
.breadcrumb-wrap{padding:120px 40px 0;font-size:13px;color:var(--g5)}
.breadcrumb-wrap a{color:var(--g5);transition:color .3s}
.breadcrumb-wrap a:hover{color:var(--t)}
.breadcrumb-wrap .separator{margin:0 8px;opacity:.4}
.breadcrumb-wrap .last{color:var(--c)}
@media(max-width:768px){.breadcrumb-wrap,.rank-math-breadcrumb{display:none!important}}
@media(max-width:768px){.post-category-label{display:none!important}}
@media(max-width:768px){.post-deck{font-size:17px}}

/* Post hero image container */

/* Post hero image container */
/* Copertina dell'articolo: l'immagine e, sotto, didascalia e copyright (li fornisce il plugin; vuoti = niente riga). */
.post-hero{margin:0 0 48px}
.post-hero-img{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:var(--wa)}
.post-hero figcaption,.post-content figure figcaption{font-size:13px;line-height:1.5;color:var(--g5);margin-top:10px}
.img-credit{font-size:12px;white-space:nowrap}
.img-license{color:inherit;text-decoration:underline;text-underline-offset:2px}
.post-hero-img img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center;display:block}
/* Post author byline */
.post-author{font-weight:600;color:var(--c);transition:color .3s}
a.post-author:hover{color:var(--t)}

/* Post tags */
.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(26,26,26,.08)}
.post-tag{font-family:var(--fh);font-size:12px;font-weight:500;letter-spacing:.04em;padding:6px 14px;border-radius:100px;background:var(--t05);color:var(--t);border:1px solid var(--t10);transition:all .3s}
.post-tag:hover{background:var(--t);color:var(--wh)}

/* Author box */
.author-box{display:flex;gap:24px;align-items:flex-start;margin-top:40px;padding:32px;background:var(--wh);border-radius:16px;border:1px solid rgba(26,26,26,.04)}
.author-avatar{flex-shrink:0}
.author-avatar img{width:64px;height:64px;border-radius:14px;object-fit:cover}
.author-label{font-family:var(--fh);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--t);margin-bottom:4px}
.author-name{font-family:var(--fh);font-size:20px;font-weight:600;margin-bottom:8px}
.author-bio{font-size:14px;line-height:1.7;color:var(--g6);margin-bottom:12px}
.author-link{font-size:13px;font-weight:600;color:var(--t);transition:opacity .3s}
.author-link:hover{opacity:.7}
@media(max-width:768px){.author-box{flex-direction:column;gap:16px;padding:24px}}

/* Author page */
.author-page-box{display:flex;gap:32px;align-items:flex-start;position:relative;z-index:2;padding-top:140px}
.author-page-avatar{flex-shrink:0}
.author-page-avatar img{width:96px;height:96px;border-radius:20px;object-fit:cover}
.author-page-info h1{font-family:var(--fh);font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}
.author-page-bio{font-size:17px;line-height:1.75;color:var(--g6);max-width:560px;margin-bottom:20px}
.author-page-meta{display:flex;gap:20px}
.author-page-meta a{font-size:14px;font-weight:600;color:var(--t);transition:opacity .3s}
.author-page-meta a:hover{opacity:.7}
@media(max-width:768px){.author-page-box{flex-direction:column;gap:20px;padding-top:100px}}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
.contact-info-block{margin-bottom:40px}
.contact-info-block h3{font-family:var(--fh);font-size:18px;font-weight:600;margin-bottom:16px}
.contact-info-block p{font-size:15px;line-height:1.7;color:var(--g6)}
.contact-detail{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:15px}
.contact-detail svg{flex-shrink:0;color:var(--t)}
.contact-detail a{color:var(--c);font-weight:500;transition:color .3s}
.contact-detail a:hover{color:var(--t)}
.contact-bridge{margin-top:48px;padding-top:32px;border-top:1px solid rgba(26,26,26,.06);font-size:15px;color:var(--g6);line-height:1.7}
.contact-bridge a{color:var(--t);font-weight:500;text-decoration:underline;text-underline-offset:3px}

/* Contact Form 7 styling */
.wpcf7 label{display:block;font-family:var(--fh);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--c);margin-bottom:20px}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 textarea{width:100%;padding:14px 18px;border:1px solid rgba(26,26,26,.1);border-radius:12px;font-family:var(--fb);font-size:15px;color:var(--c);background:var(--wh);transition:border-color .3s;margin-top:6px;outline:none}
.wpcf7 input[type="text"]:focus,.wpcf7 input[type="email"]:focus,.wpcf7 textarea:focus{border-color:var(--t)}
.wpcf7 textarea{min-height:140px;resize:vertical}
.wpcf7 input[type="submit"]{display:inline-flex;align-items:center;gap:10px;font-family:var(--fb);font-size:13px;font-weight:700;background:var(--t);color:var(--wh);padding:16px 36px;border-radius:100px;border:none;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}
.wpcf7 input[type="submit"]:hover{background:var(--tl);transform:translateY(-2px)}
.wpcf7 .wpcf7-acceptance{font-size:13px;color:var(--g6);margin-bottom:20px}
.wpcf7 .wpcf7-acceptance a{color:var(--t)}
.wpcf7 .wpcf7-response-output{font-size:14px;padding:16px 20px;border-radius:12px;margin-top:20px}
.wpcf7 .wpcf7-not-valid-tip{font-size:12px;color:#c04040;margin-top:4px}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:40px}}
.contact-grid-one{grid-template-columns:1fr;max-width:720px}
/* Easy Table of Contents override */
#ez-toc-container{border:none!important;box-shadow:none!important;background:transparent!important;padding:0!important}
/* Indice dei contenuti (plugin Easy Table of Contents, tema "trasparente" nelle opzioni del plugin).
   Tutta la grafica sta qui: l'importazione delle impostazioni del plugin non funziona (difetto della versione 2.0.88).
   Le regole vincono su quelle del plugin per specificità, senza !important. */
.post-content #ez-toc-container{display:block;width:100%;box-sizing:border-box;border-radius:0;margin:40px 0 8px}
.post-content #ez-toc-container .ez-toc-title{font-size:12px;font-weight:700;color:var(--t);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.post-content #ez-toc-container nav ul{margin:0;padding:0;list-style:none}
.post-content #ez-toc-container nav li{margin:0;padding:6px 0;font-size:16px;font-weight:500;line-height:1.45}
.post-content #ez-toc-container a.ez-toc-link,.post-content #ez-toc-container a.ez-toc-link:visited{font-size:16px;font-weight:500;color:var(--c);text-decoration:none}
.post-content #ez-toc-container a.ez-toc-link::before{color:var(--t);font-weight:600;margin-right:6px}
.post-content #ez-toc-container a.ez-toc-link:hover,.post-content #ez-toc-container a.ez-toc-link:focus-visible{color:var(--t);text-decoration:underline}
/* ===== LANG SWITCH =====
   Bandiera disegnata nel tema (SVG) più sigla della lingua: uguale su ogni dispositivo. Le emoji di prima su Windows
   diventavano le lettere "GB" e "IT". La sigla dice la lingua, la bandiera aiuta a trovarla. */
.nk a.lang-switch{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--t);border-radius:999px;padding:3px 10px 3px 4px;margin-left:4px;font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1;color:var(--t);transition:background .2s,color .2s}
.nk a.lang-switch::after{display:none}
.nk a.lang-switch:hover,.nk a.lang-switch:focus-visible{background:var(--t);color:var(--wh)}
.lang-switch .ls-flag{display:inline-flex;width:18px;height:18px;border-radius:50%;overflow:hidden;flex-shrink:0}
.lang-switch .ls-flag svg{display:block;width:100%;height:100%}
@media(max-width:768px){.nk a.lang-switch{font-size:15px;gap:9px;padding:6px 16px 6px 6px;margin-left:0}.lang-switch .ls-flag{width:24px;height:24px}}

/* ===== INTENTIQ ===== */
.intentiq-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.intentiq-visual{background:var(--wh);border:1px solid rgba(26,26,26,.04);border-radius:16px;padding:36px 28px;box-shadow:0 4px 32px rgba(26,26,26,.06)}
@media(max-width:1024px){.intentiq-grid{grid-template-columns:1fr}}

/* ===== RESPONSIVE ===== */
@media(max-width:1120px){
  .ctn{padding:0 28px}
  .hero-row{flex-direction:column;gap:40px}
  .hero-right{width:100%;flex-direction:row;flex-wrap:wrap}
  .hcard{flex:1;min-width:260px}
  .prob-intro{grid-template-columns:1fr;gap:40px}
  .prob-ops,.ops-grid{grid-template-columns:repeat(2,1fr)}
  .pill-gr{grid-template-columns:1fr}
  .src-grid{grid-template-columns:repeat(3,1fr)}
  .phase-grid{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .del-grid,.who-grid,.pos-grid,.cmp-grid{grid-template-columns:1fr}
  .val-grid{grid-template-columns:repeat(2,1fr)}
  .tool-row{grid-template-columns:1fr;gap:12px}
  .cost-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .foot-g{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:768px){
  .ctn{padding:0 20px}.ni{padding:0 20px}
  .nk{display:none;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;background:var(--w);flex-direction:column;justify-content:center;align-items:center;gap:32px;z-index:9998;overflow-y:auto;padding:40px 20px}
  .nk.open{display:flex}
  .nk a{font-size:24px;font-weight:600}
  .nc{font-size:16px!important;padding:16px 36px}
  .nt{display:flex}
  .hero{padding:100px 0 60px;min-height:auto}
  .hero-right{flex-direction:column}
  .hcard{min-width:auto}
  .prob,.meth,.pill,.aud,.faq,.ctaf,.sec,.phero{padding:80px 0}
  .phero{padding:120px 0 60px}
  .prob-ops,.ops-grid{grid-template-columns:1fr}
  .src-grid{grid-template-columns:1fr}
  .mi{grid-template-columns:60px 1fr;gap:16px}
  .mi-d{max-height:none;opacity:1;margin-top:14px}
  .step{grid-template-columns:50px 1fr;gap:16px}
  .stats{flex-direction:column;gap:12px}
  .stat{min-width:auto}
  .details{flex-direction:column;gap:16px}
  .ac{padding:32px 24px}
  .ac-meta{flex-direction:column;gap:10px}
  .score-card{padding:32px 24px}
  .val-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .foot-g{grid-template-columns:1fr;gap:32px}
  .foot-b{flex-direction:column;gap:8px;text-align:center}
section.sec[style*="padding-top"]{padding-top:100px!important}
}


/* ===== ThinkAI Theme 2.0: aggiunte (il resto del foglio di stile è invariato) ===== */
.skip{position:absolute;left:-9999px;top:0;background:var(--c);color:var(--wh);padding:12px 20px;z-index:1000;border-radius:0 0 8px 0}
.skip:focus{left:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--t);outline-offset:3px}
.nt{min-width:44px;min-height:44px}
.bc{font-size:13px;color:var(--g5);margin-bottom:28px}
.bc a{color:var(--g5);transition:color .3s}.bc a:hover{color:var(--t)}
.bc .breadcrumb_last{color:var(--c)}
.txt p{font-size:17px;line-height:1.8;color:var(--g6);max-width:680px;margin-bottom:20px}
.tool-term{font-size:13px;line-height:1.6;color:var(--t);font-family:var(--fh);font-weight:600;letter-spacing:.02em;padding-left:16px;border-left:2px solid var(--t10)}
.nums{display:flex;justify-content:center;gap:48px;margin-top:48px;flex-wrap:wrap}
.nums div{text-align:center}
.nums b{display:block;font-family:var(--fh);font-size:32px;font-weight:700;color:var(--t);line-height:1}
.nums span{display:block;font-size:13px;color:var(--g5);margin-top:6px}
.nums cite{display:block;font-size:12px;font-style:normal;color:var(--g5);margin-top:4px}
.nums cite a{color:var(--g5);text-decoration:underline}
.related{margin-top:48px;padding-top:32px;border-top:1px solid rgba(26,26,26,.08)}
.related h2{font-family:var(--fh);font-size:20px;font-weight:600;margin-bottom:16px}
.related ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.related a{color:var(--c);font-weight:500;border-bottom:1px solid var(--t10);transition:color .3s}
.related a:hover{color:var(--t)}
.blog-card-body h3{font-family:var(--fh);font-size:20px;font-weight:600;line-height:1.3;margin-bottom:10px}
.blog-card-body h3 a{transition:color .3s}.blog-card-body h3 a:hover{color:var(--t)}
.home-blog .blog-grid{margin-top:8px}
.hero-cta{margin:8px 0 28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hero-cta small{font-size:13px;color:var(--g5)}
.abox{margin:40px 0;padding:28px 32px;background:var(--wh);border:1px solid rgba(26,26,26,.06);border-left:3px solid var(--t);border-radius:16px;display:flex;gap:28px;align-items:center;justify-content:space-between}
.abox p{margin:0!important;font-size:16px!important;line-height:1.65!important;color:var(--c)!important;max-width:520px}
.abox .bp{flex-shrink:0;padding:14px 26px;white-space:nowrap;color:var(--wh)!important;text-decoration:none!important;border:none!important}
.sec-compact{padding:80px 0}
/* Riquadro dell'autore: compatto. La biografia stava ereditando il corpo 17 del testo dell'articolo. */
.post-content .author-box{flex-direction:row;gap:16px;padding:22px 24px;align-items:flex-start}
.post-content .author-avatar img{width:48px;height:48px;border-radius:12px;display:block}
.post-content .author-label{margin:0 0 2px;font-size:10px}
.post-content .author-name{font-size:17px;margin:0 0 6px}
.post-content .author-name a{color:inherit;border:none;text-decoration:none}
.post-content .author-name a:hover{color:var(--t)}
.post-content .author-box .author-bio{font-size:14px;line-height:1.6;margin:0 0 8px;color:var(--g6);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-content .author-box .author-link{font-size:13px}
.rlist{max-width:860px}
.rlist a{display:block;padding:22px 0;border-bottom:1px solid rgba(26,26,26,.08);font-family:var(--fh);font-size:18px;font-weight:600;line-height:1.4;color:var(--c);transition:color .3s}
.rlist a:hover{color:var(--t)}
.rlist a span{display:block;font-family:var(--fb);font-size:12px;font-weight:400;color:var(--g5);margin-top:6px}
@media(max-width:768px){.bc{display:none}.abox{flex-direction:column;align-items:flex-start;padding:24px}.abox .bp{width:100%;justify-content:center}.home-blog .blog-card:nth-child(n+3){display:none}.sec-compact{padding:64px 0}}
.founders{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px}
.founder{display:flex;gap:20px;align-items:flex-start;background:var(--wh);border-radius:18px;padding:28px;border:1px solid rgba(26,26,26,.04)}
.founder img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}
.founder h3{font-family:var(--fh);font-size:18px;font-weight:600;margin-bottom:8px}
.founder p{font-size:14.5px;line-height:1.7;color:var(--g6);margin-bottom:10px}
.founder a{font-size:13px;font-weight:600;color:var(--t)}
@media(prefers-reduced-motion:reduce){.rv-ready .rv{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}

/* Icona LinkedIn a destra del nome: riquadro dell'autore, pagina dell'autore, fondatori. */
.name-row{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.name-row h1,.name-row h3,.post-content .name-row .author-name{margin:0}
.author-page-info .name-row{gap:14px;margin-bottom:16px}
.post-content .name-row{margin-bottom:6px}
.li-ico,.post-content a.li-ico,.founder a.li-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:7px;color:var(--t);border:none;text-decoration:none;transition:color .3s,background .3s}
.li-ico svg{display:block;width:18px;height:18px;fill:currentColor}
.li-ico:hover,.post-content a.li-ico:hover{color:#0a66c2;background:rgba(10,102,194,.08)}
.author-page-info .li-ico{width:36px;height:36px}
.author-page-info .li-ico svg{width:24px;height:24px}

/* Pagina libera: link dentro i testi delle sezioni e riga di nomi sotto l'apertura. */
.sec .ctn>p a,.fa-in a{color:var(--t);text-decoration:underline;text-underline-offset:3px}
.sec .ctn>p a:hover,.fa-in a:hover{opacity:.75}
.hero-tags{max-width:700px;margin:0 auto;padding:40px 24px;display:flex;justify-content:center;gap:36px;flex-wrap:wrap;opacity:.4}
.hero-tags span{font-family:var(--fh);font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--g5);text-transform:uppercase}
.tool-row.tool-two{grid-template-columns:240px 1fr}
@media(max-width:768px){.tool-row.tool-two{grid-template-columns:1fr}}

/* Colore dei grassetti dentro i testi: classi al posto degli stili, che il plugin toglie. */
strong.c-t,span.c-t{color:var(--t)}
strong.c-c,span.c-c{color:var(--c)}

/* ===== Landing Light Audit (2.0.23) ===== */
.la-hero{padding:150px 0 90px}
.la-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.la-hero-text h1{font-size:clamp(34px,4.4vw,56px);line-height:1.08;margin:18px 0 20px}
.la-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(13,115,119,.08);color:var(--t);font-family:var(--fh);font-size:13px;font-weight:600}
.la-dot{width:8px;height:8px;border-radius:50%;background:var(--t)}
.la-checks{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.la-checks li{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.6;color:var(--c)}
.la-checks svg{width:18px;height:18px;flex-shrink:0;color:var(--t);margin-top:3px}
.la-form{background:var(--wh);border:1px solid rgba(26,26,26,.06);border-radius:20px;padding:32px;box-shadow:0 20px 60px rgba(26,26,26,.06)}
.la-form h2{font-family:var(--fh);font-size:25px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:6px 0 8px}
.la-step{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t)}
.la-form-sub{font-size:15px;line-height:1.6;color:var(--g6);margin-bottom:22px}
.la-form-note{font-size:13px;color:var(--g6);margin-top:16px;line-height:1.6}
.la-form-note a{color:var(--t);text-decoration:underline;text-underline-offset:3px}
.la-fields{display:flex;flex-direction:column;gap:14px}
.la-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:14px}
.la-field{display:flex;flex-direction:column;gap:6px}
.la-field label{font-size:13px;font-weight:600;color:var(--c)}
.la-field input,.la-field select{width:100%;padding:13px 16px;border:1px solid rgba(26,26,26,.14);border-radius:12px;font-family:var(--fb);font-size:15px;background:var(--wh);color:var(--c)}
.la-field input:focus,.la-field select:focus{border-color:var(--t);outline:none}
.la-field.is-error input{border-color:#c04040}
.la-submit{width:100%;display:inline-flex;justify-content:center;align-items:center;gap:10px;font-family:var(--fb);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--t);color:var(--wh);border:none;border-radius:999px;padding:16px 24px;cursor:pointer;transition:background .3s,transform .3s,opacity .3s}
.la-submit:hover{background:var(--tl);transform:translateY(-2px)}
.la-submit[disabled]{opacity:.6;cursor:wait;transform:none}
.la-error{font-size:13px;color:#c04040;line-height:1.5}
.la-step2 .la-calendly{height:720px;margin-top:8px}
@media(max-width:560px){.la-step2 .la-calendly{height:980px}}
.la-grid-4{grid-template-columns:repeat(4,1fr)}
.la-num{font-family:var(--fh);font-size:28px;font-weight:700;color:var(--t);line-height:1;margin-bottom:14px}
.la-center{text-align:center;margin-top:48px}
.la-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.la-card{background:var(--wh);border:1px solid rgba(26,26,26,.06);border-radius:16px;padding:32px}
.la-card h3,.la-fit h3{font-family:var(--fh);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t);margin-bottom:18px}
.la-card-dark{background:var(--c);color:var(--wh)}
.la-card-dark h3{color:var(--tl)}
.la-plus{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.la-plus li{position:relative;padding-left:22px;font-size:15px;line-height:1.6}
.la-plus li::before{content:"+";position:absolute;left:0;top:0;font-family:var(--fh);font-weight:700;color:var(--t)}
.la-card-dark .la-plus li::before{color:var(--tl)}
.la-fit{margin-top:40px}
.la-fit h3{color:var(--c)}
.la-no{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.la-no li{position:relative;padding-left:22px;font-size:15px;line-height:1.6;color:var(--g6)}
.la-no li::before{content:"–";position:absolute;left:0;top:0;color:var(--g5)}
@media(max-width:900px){.la-hero-grid{grid-template-columns:1fr;gap:36px}.la-grid-4{grid-template-columns:repeat(2,1fr)}.la-compare{grid-template-columns:1fr}}
@media(max-width:560px){.la-grid-4{grid-template-columns:1fr}.la-form{padding:24px}}
