/* ===== Modelli: pagina soluzione (formato) e pagina funzione (prodotto) =====
   Si carica dopo site.css e product.css */

/* ---------- comuni ---------- */
.stk{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.ctr{text-align:center;display:flex;flex-direction:column;align-items:center}
.tag.or{border-color:#f0b27d;color:#8a5a2a}
.pg-sec{position:relative}
.h2x{font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.lead2{color:var(--muted);font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.btn-md2{height:56px;padding:0 28px;font-size:var(--fs-tm);letter-spacing:var(--ls-tm)}
.pg-pad{padding:100px 0}

/* ---------- SOLUZIONE (formato) ---------- */
.shero{position:relative;height:1080px;overflow:hidden;background:linear-gradient(180deg,#fff 0,#fafbff 40%,#f2f6fd 72%,#dae6fb 92%,#d6e3fa 100%)}
.shero .b1{position:absolute;left:-190px;top:200px;width:480px;height:760px;border-radius:50%;background:rgba(160,190,230,.18)}
.shero .b2{position:absolute;right:-60px;top:760px;width:300px;height:100px;border-radius:999px;background:rgba(150,180,235,.28);transform:rotate(-38deg)}
.shero .b3{position:absolute;right:300px;top:930px;width:120px;height:80px;border-radius:999px;background:rgba(150,180,235,.28)}
.shero .wrap{display:grid;grid-template-columns:700px 662px;justify-content:space-between;padding-top:255px}
.shero .l{margin-top:102px;display:flex;flex-direction:column;align-items:flex-start}
.shero .tag{height:38px;font-size:var(--fs-ll)}
.shero h1{margin-top:24px;font-size:var(--fs-dl);line-height:var(--lh-dl);letter-spacing:var(--ls-dl);font-weight:var(--fw-dl)}
.shero .sub{margin-top:36px;color:var(--ink-2);max-width:640px;font-size:var(--fs-tm);line-height:var(--lh-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.shero .btns{margin-top:54px}
.shero .ph{height:650px;border-radius:0;overflow:hidden}
.shero .ph img{width:100%;height:100%;object-fit:cover}
.svc{padding:100px 0 0;text-align:center}
.svc h2{margin-top:24px;max-width:860px;margin-left:auto;margin-right:auto;font-size:var(--fs-dm);line-height:var(--lh-dm);letter-spacing:var(--ls-dm);font-weight:var(--fw-dm)}
.svc .lead2{margin:24px auto 0;max-width:780px}
.band{margin-top:60px;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 12px 40px rgba(30,50,55,.14);display:block}
.band img{width:100%;height:auto;display:block}
.srow{display:grid;grid-template-columns:1fr 708px;gap:72px;align-items:start;margin-top:160px}
.srow.rev{grid-template-columns:708px 1fr}
.srow>*{min-width:0}
.srow img{width:100%;height:545px;object-fit:cover;border-radius:var(--r-xl)}
.srow h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.srow .ibox{background:#6fb5c0}
.srow p{margin-top:24px;color:var(--muted);font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.srow p+p{margin-top:16px}
.addon{background:var(--sunken);margin-top:82px;padding:78px 0 105px}
.addon h2.top{font-size:var(--fs-dm);line-height:var(--lh-dm);letter-spacing:var(--ls-dm);font-weight:var(--fw-dm)}
.arow{display:grid;grid-template-columns:707px 1fr;gap:72px;align-items:start;margin-top:49px}
.arow.rev{grid-template-columns:1fr 707px;margin-top:130px;align-items:center}
.arow>*{min-width:0}
.arow img{width:100%;border-radius:var(--r-xl);display:block}
.arow h3{font-size:var(--fs-hm);line-height:var(--lh-hm);letter-spacing:var(--ls-hm);font-weight:var(--fw-hm)}
.arow p{margin-top:24px;color:var(--ink-2);font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.arow p+p{margin-top:16px}
.arow ul{list-style:none;margin:20px 0;padding:0;display:flex;flex-direction:column;gap:18px;color:var(--ink-2);font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.arow li{display:flex;gap:14px;align-items:center}
.arow li svg{width:24px;height:24px;color:var(--ink-2)}
.arow .btn{margin-top:32px}
.arow a.ln{color:var(--teal-700);text-decoration:underline}
.sw{background:#edeff2;padding:128px 0 130px}
.sw .grid{display:grid;grid-template-columns:1fr 708px;gap:72px}
.sw .grid>*{min-width:0}
.sw h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.sw .lead2{margin-top:24px}
.sw .it{padding-bottom:36px;border-bottom:2px solid #27a3b8;margin-bottom:36px}
.sw .it:last-child{border:0;margin:0;padding:0}
.sw .it:first-child{margin-top:0}
.sw .n{font-family:'Manrope',Arial,sans-serif;color:#1f8fa3;font-size:var(--fs-tm);line-height:var(--lh-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.sw .it h3{margin-top:12px;font-size:var(--fs-hl);line-height:var(--lh-hl);letter-spacing:var(--ls-hl);font-weight:var(--fw-hl)}
.sw .it p{margin-top:12px;color:var(--muted);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.sw .it p b{font-weight:600}
.snums{background:linear-gradient(160deg,#162d31 0,#1d3d41 42%,#2a5459 75%,#7f785f 100%);color:#fff;padding:150px 0 140px;position:relative;overflow:hidden}
.snums .ring{width:900px;height:900px;left:-320px;top:30px;border-width:70px;border-color:rgba(143,191,194,.07)}
.snums .stats{margin-top:0;grid-template-columns:repeat(3,1fr)}
.snums .note{margin-top:40px;background:rgba(255,255,255,.08);color:#cfe3e4;border-color:rgba(255,255,255,.5)}
.scl{background:#edeff2;padding:97px 0 80px;text-align:center}
.scl h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.scl .lead2{margin-top:16px}
.scl .band2{margin:48px auto 0;height:66px;border:2px dashed rgba(48,126,130,.6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--teal-700);background:rgba(255,255,255,.35);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.scl .cs{text-align:left;margin-top:72px}
.scl .dots{justify-content:center;margin-top:28px}

/* ---------- FUNZIONE (prodotto) ---------- */
.fhero{background:#f7f8f9;padding:100px 0 56px;position:relative}
.crumb2{position:absolute;top:96px;left:0;right:0}
.crumb2 .wrap{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.crumb2 b{color:var(--ink);font-weight:600}
.crumb2 svg{width:14px;height:14px}
.fhero .in{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:84px}
.fhero .lab{display:flex;align-items:center;gap:16px;color:var(--teal-700);text-transform:uppercase;text-align:left;font-size:var(--fs-tl);line-height:var(--lh-caps);letter-spacing:var(--ls-caps);font-weight:var(--fw-caps)}
.fhero h1{margin-top:40px;max-width:1100px;font-size:var(--fs-dl);line-height:var(--lh-dl);letter-spacing:var(--ls-dl);font-weight:var(--fw-dl)}
.fhero .sub{margin-top:32px;color:var(--ink-2);max-width:900px;font-size:var(--fs-tm);line-height:var(--lh-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.fhero .btns{margin-top:48px}
.sc3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:72px;width:100%;text-align:left}
.sc3 .c{background:#fbfbfc;border:1px solid #e3e7ea;border-radius:var(--r-xl);padding:32px 32px 28px;min-height:226px}
.sc3 h3{font-size:var(--fs-hl);line-height:var(--lh-hl);letter-spacing:var(--ls-hl);font-weight:var(--fw-hl)}
.sc3 p{margin-top:16px;color:var(--muted);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.how{background:#edeff2;padding:80px 0 0;text-align:center}
.how h2{margin-top:24px;max-width:700px;margin-left:auto;margin-right:auto;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.how .lead2{margin:28px auto 0;max-width:920px;font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.stp{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-top:72px;text-align:left}
.stp.rev .im{order:-1}
.stp>*{min-width:0}
.stp img{width:100%;height:auto;display:block}
.chipst{display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 16px;border-radius:999px;background:#a9d3d9;color:#1e5a63;text-transform:uppercase;font-size:var(--fs-ll);line-height:var(--lh-caps);letter-spacing:var(--ls-caps);font-weight:var(--fw-caps)}
.chipst:before{content:"";width:8px;height:8px;border-radius:50%;background:#1e5a63}
.stp h3{margin-top:20px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.stp p{margin-top:20px;color:var(--muted);font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.seeai{margin-top:140px;text-align:center}
.seeai h2{color:#3a4047;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.seeai .big{margin-top:40px;background:#d1d6dc;border-radius:var(--r-xl);padding:56px 0 0;overflow:hidden}
.seeai .big img{width:100%;height:auto;display:block}
.more{background:linear-gradient(180deg,#1d6e7c 0,#206f7d 100%);color:#fff;margin-top:80px;padding:80px 0 78px;position:relative;overflow:hidden}
.more .r{position:absolute;width:760px;height:760px;border-radius:50%;border:90px solid rgba(255,255,255,.07);right:-120px;top:-40px}
.more h2{color:#fff;max-width:560px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.more .row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:48px}
.more .k{font-family:'Manrope',Arial,sans-serif;font-size:var(--fs-tl);line-height:var(--lh-tl);letter-spacing:var(--ls-tl);font-weight:var(--fw-tl)}
.more p{margin-top:14px;color:#e2eff0;max-width:620px;font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.more .btn-x{background:#4a8b97;color:#fff;height:56px;padding:0 28px;box-shadow:0 2px 6px rgba(0,0,0,.15);font-size:var(--fs-tm);letter-spacing:var(--ls-tm)}
.dk3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;position:relative}
.dk3 .c{background:#2b3138;border-radius:var(--r-xl);padding:16px 16px 24px;display:flex;flex-direction:column;align-items:flex-start}
.dk3 .ibox{background:#307e82}
.dk3 h3{color:#fff;margin:24px 0 0 8px;font-size:var(--fs-hm);line-height:var(--lh-hm);letter-spacing:var(--ls-hm);font-weight:var(--fw-hm)}
.dk3 p{margin:14px 8px 0;color:#d5dde0;font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.dk3 .btn{margin:24px 0 0 8px;height:40px;padding:0 20px;border-color:#7fc0c5;color:#9fd7da;font-size:var(--fs-bm);letter-spacing:var(--ls-bm)}
.fqx{background:var(--sunken);padding:104px 0 90px}
.fqx .grid{display:grid;grid-template-columns:1fr 708px;gap:72px;align-items:start}
.fqx .grid>*{min-width:0}
.fqx h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.ctx{background:#eeeff2;padding:80px 0 110px}
.ctx .grid{display:grid;grid-template-columns:1fr 708px;gap:72px;align-items:start}
.ctx .grid>*{min-width:0}
.ctx h2{margin-top:24px;font-size:var(--fs-dm);line-height:var(--lh-dm);letter-spacing:var(--ls-dm);font-weight:var(--fw-dm)}

/* form condiviso dai modelli */
.fm{background:var(--teal-900);border-radius:var(--r-xl);padding:32px;color:#fff;display:flex;flex-direction:column;gap:18px}
.fm .ti{font-family:'Manrope',Arial,sans-serif;max-width:560px;font-size:var(--fs-tl);line-height:var(--lh-tl);letter-spacing:var(--ls-tl);font-weight:var(--fw-tl)}
.fm .rq{font-size:var(--fs-bs);line-height:var(--lh-bs);letter-spacing:var(--ls-bs);font-weight:var(--fw-body)}
.fm .f{display:flex;flex-direction:column;gap:8px;color:#e6f0f0;font-size:var(--fs-ll);line-height:var(--lh-ll);letter-spacing:var(--ls-ll);font-weight:var(--fw-label)}
.fm .f>span{padding-left:24px}
.fm input:not([type=checkbox]),.fm select,.fm textarea{font:inherit;color:var(--ink);background:#f6f7f9;border:0;border-radius:999px;height:56px;padding:0 24px;width:100%;min-width:0;font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.fm select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#555 50%),linear-gradient(135deg,#555 50%,transparent 50%);background-position:calc(100% - 26px) 24px,calc(100% - 20px) 24px;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.fm select:invalid{color:#7b8289}
.fm textarea{height:240px;border-radius:28px;padding:18px 24px;resize:vertical}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:3px solid var(--amber)}
.fm .two2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fm .two2>*{min-width:0}
.fm .grp{font-family:'Manrope',Arial,sans-serif;margin-top:18px;font-size:var(--fs-tm);line-height:var(--lh-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.fm .tel{display:flex;background:#f6f7f9;border-radius:999px;height:56px;overflow:hidden;align-items:center}
.fm .tel span{padding:0 18px 0 22px!important;border-right:1px solid #d8dbe0;height:32px;display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.fm .tel input{border-radius:0;background:transparent;flex:1}
.fm .tel input:focus{outline:0}
.fm .chk{display:flex;gap:12px;align-items:center;color:#e6f0f0;font-size:var(--fs-bs);line-height:var(--lh-bs);letter-spacing:var(--ls-bs);font-weight:var(--fw-body)}
.fm .chk input{width:18px;height:18px;accent-color:var(--amber);padding:0}
.fm .chk a{color:var(--amber);text-decoration:underline}
.fm .sr{display:flex;justify-content:flex-end;margin-top:16px}
.fm .ok{display:none;background:#fff;color:var(--ink);border-radius:16px;padding:16px 20px;font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.fm input[readonly]{background:#c9ccd1;color:#6b7279}
.cinfo .k{font-family:'Manrope',Arial,sans-serif;color:var(--ink);font-size:var(--fs-hs);line-height:var(--lh-hs);letter-spacing:var(--ls-hs);font-weight:var(--fw-hs)}
.cinfo .v{margin-top:10px;color:var(--teal-700);display:inline-flex;gap:10px;align-items:center;font-size:var(--fs-hs);line-height:var(--lh-hs);letter-spacing:var(--ls-hs);font-weight:var(--fw-hs)}
.cinfo hr{border:0;border-top:1px solid #cfd5d9;margin:22px 0 28px;max-width:585px}
.cinfo .lead2{max-width:585px;margin-top:24px}

@media (max-width:1100px){
  .shero{height:auto;padding-bottom:80px}
  .shero .wrap{grid-template-columns:1fr;padding-top:130px;gap:40px}
  .shero .l{margin-top:0}
  .shero .ph{height:auto}
  .shero .b1,.shero .b2,.shero .b3{display:none}
  .srow,.srow.rev,.arow,.arow.rev,.sw .grid,.fqx .grid,.ctx .grid,.stp,.sc3,.dk3{grid-template-columns:1fr;gap:32px}
  .srow{margin-top:80px}
  .srow img{height:auto}
  .arow.rev{margin-top:72px}
  .stp.rev .im{order:0}
  .snums .stats{grid-template-columns:1fr;gap:28px}
  .more .row{flex-direction:column;align-items:flex-start}
  .crumb2{top:90px}
  .fm .two2{grid-template-columns:1fr}
  .band{margin-top:40px}
}
@media (max-width:600px){
  .fm{padding:20px}
}
