/*
 * Gestionale Officina: componenti del design.
 * Copia di assets/go.css (fonte di verità) con queste differenze:
 * - le container query sono diventate media query;
 * - header, footer, logo e la base .go sono in theme.css;
 * - la classe .search del design si chiama .go-search-box: .search è anche una classe di <body> nelle pagine di ricerca;
 * - i padding delle sezioni toccano solo l'alto e il basso, per lasciare i margini laterali a WordPress.
 * Gli adattamenti al markup dei blocchi stanno in fondo a theme.css.
 */
:root{
  --ink:#0d1214;--ink-2:#151c1f;--ink-3:#1f282c;--ink-4:#2b363b;
  --steel:#4a575d;--mute:#56636a;--line:#dde2e0;--line-d:#2e393e;
  --paper:#f3f5f3;--white:#ffffff;
  --acqua:#36b3a0;--acqua-d:#1b7568;--acqua-l:#e2f3ef;--acqua-dd:#0f4a42;
  --on-dark:#e8eeec;--on-dark-2:#a9b7b5;
  --warn:#c4661a;--warn-l:#fdf0e3;--ok:#1b7568;--late:#b8432f;--late-l:#fbe9e5;
  --plate-blue:#1d3f9e;
  --r-s:6px;--r:10px;--r-l:16px;
  --sh:0 1px 2px rgba(13,18,20,.06),0 8px 24px rgba(13,18,20,.06);
  --sh-l:0 24px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.wrap-s{max-width:880px;margin:0 auto;padding:0 32px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* tipografia */
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--acqua-d);margin:0 0 14px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.dark .eyebrow{color:var(--acqua)}
.h1{font-size:58px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:0}
.h2{font-size:42px;line-height:1.12;font-weight:700;letter-spacing:-.02em;margin:0}
.h3{font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.01em;margin:0}
.h4{font-size:18px;line-height:1.35;font-weight:600;margin:0}
.lead{font-size:20px;line-height:1.6;color:var(--mute);margin:0;max-width:640px}
.dark .lead{color:var(--on-dark-2)}
.acc{color:var(--acqua)}
.light .acc{color:var(--acqua-d)}
.small{font-size:14px;color:var(--mute)}
.sec-head{display:flex;flex-direction:column;gap:16px;margin-bottom:56px;max-width:760px}
.sec-head.c{margin-left:auto;margin-right:auto;text-align:center;align-items:center}
.sec-head.c .eyebrow::before{display:none}

/* sezioni */
.sec{padding-top:104px;padding-bottom:104px}
.sec-s{padding-top:72px;padding-bottom:72px}
.dark{background:var(--ink-2);color:var(--on-dark)}
.darker{background:var(--ink);color:var(--on-dark)}
.white{background:var(--white)}
.peg{background-color:var(--ink-2);background-image:radial-gradient(circle at center,#24302f 2px,transparent 2.6px);background-size:28px 28px}

/* pulsanti */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:var(--r);font:600 16px/1.2 'Poppins',sans-serif;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.go a.btn,.go-h a.btn,.go-f a.btn{text-decoration:none}
.btn-p{background:var(--acqua);color:var(--ink)!important;border-color:var(--acqua)}
.btn-p:hover{background:#4cc4b1;border-color:#4cc4b1}
.btn-o{background:transparent;color:var(--on-dark)!important;border-color:#55666b}
.btn-o:hover{border-color:var(--acqua);color:#fff!important}
.btn-d{background:var(--ink);color:#fff!important;border-color:var(--ink)}
.btn-d:hover{background:var(--ink-4);border-color:var(--ink-4)}
.btn-l{background:transparent;color:var(--ink)!important;border-color:#b9c2bf}
.btn-l:hover{border-color:var(--ink)}
.btn-lg{min-height:56px;padding:14px 28px;font-size:17px}
.btn-sm{min-height:44px;padding:8px 16px;font-size:15px}
.btn-w{width:100%}
.btn svg{flex:none}



/* placeholder foto */
.ph{position:relative;border-radius:var(--r-l);overflow:hidden;background-color:#26302f;background-image:linear-gradient(135deg,rgba(54,179,160,.10),rgba(0,0,0,.25)),radial-gradient(circle at center,#34413f 2px,transparent 2.6px);background-size:auto,22px 22px;min-height:220px;display:flex;align-items:flex-end}
.ph-cap{margin:14px;background:rgba(13,18,20,.82);color:#dfe8e6;font:500 12px/1.4 'IBM Plex Mono',monospace;padding:7px 10px;border-radius:6px;display:inline-flex;gap:8px;align-items:center}
.ph-cap::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acqua);flex:none}

/* targa */
.plate{display:inline-flex;align-items:stretch;border:1.5px solid #1b1f22;border-radius:4px;background:#fff;color:#111;font:600 13px/1 'IBM Plex Mono',monospace;letter-spacing:.06em;overflow:hidden;white-space:nowrap;vertical-align:middle}
.plate i{background:var(--plate-blue);width:9px;display:block;font-style:normal}
.plate span{padding:4px 7px}
.plate.lg{font-size:20px}
.plate.lg i{width:14px}
.plate.lg span{padding:7px 12px}

/* mockup UI */
.dev-lap{background:#0a0e10;border-radius:14px 14px 4px 4px;padding:10px;border:1px solid #34403f;box-shadow:var(--sh-l)}
.dev-base{height:14px;margin:0 -4%;background:linear-gradient(#3a4547,#1b2223);border-radius:0 0 14px 14px}
.app{background:#12181b;border-radius:6px;overflow:hidden;color:#dbe4e2;font-size:11px;line-height:1.35;display:grid;grid-template-columns:132px 1fr;min-height:330px}
.app-side{background:#0c1113;padding:12px 10px;display:flex;flex-direction:column;gap:3px;border-right:1px solid #1f292c}
.app-side .it{padding:6px 8px;border-radius:5px;color:#8fa19f;display:flex;gap:7px;align-items:center}
.app-side .it.on{background:rgba(54,179,160,.14);color:#7fe0cf}
.app-side .dot{width:6px;height:6px;border-radius:2px;background:currentColor;opacity:.7}
.app-main{padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.app-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.app-top b{font-size:13px;color:#fff;font-weight:600}
.app-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kpi{background:#1a2226;border:1px solid #243035;border-radius:6px;padding:9px}
.kpi small{display:block;color:#8a9b99;font-size:9.5px}
.kpi strong{font-size:16px;color:#fff;font-weight:600}
.kpi.a strong{color:#5fd3bf}
.kpi.w strong{color:#f0a868}
.app-tbl{background:#1a2226;border:1px solid #243035;border-radius:6px;overflow:hidden}
.app-row{display:grid;grid-template-columns:86px 1fr 70px 64px;gap:8px;padding:7px 9px;border-top:1px solid #222c30;align-items:center}
.app-row:first-child{border-top:0;color:#7f908e;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em}
.tag{display:inline-block;border-radius:20px;padding:2px 7px;font-size:9.5px;font-weight:600;white-space:nowrap}
.t-ok{background:rgba(54,179,160,.18);color:#6fe0cc}
.t-wip{background:rgba(229,167,58,.18);color:#f2c26b}
.t-wait{background:rgba(160,175,180,.16);color:#b8c6c8}
.t-late{background:rgba(230,100,80,.2);color:#ff9a87}
.app .plate{font-size:9.5px}
.app .plate span{padding:2px 5px}
.app .plate i{width:6px}

.dev-phone{width:220px;background:#0a0e10;border-radius:34px;padding:9px;border:1px solid #3a4547;box-shadow:var(--sh-l)}
.scr{background:#12181b;border-radius:26px;overflow:hidden;color:#dbe4e2;font-size:11px;line-height:1.4;padding:14px 12px;display:flex;flex-direction:column;gap:9px;min-height:420px}
.scr-h{display:flex;justify-content:space-between;align-items:center}
.scr-h b{font-size:13px;color:#fff}
.scr-card{background:#1a2226;border:1px solid #243035;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}
.chk{display:flex;gap:8px;align-items:center;color:#cfd9d7}
.chk .b{width:15px;height:15px;border-radius:4px;border:1.5px solid #4d5d61;flex:none;display:flex;align-items:center;justify-content:center}
.chk.done .b{background:var(--acqua);border-color:var(--acqua)}
.chk.done span{color:#7f908e;text-decoration:line-through}
.timer{background:#0f1517;border:1px solid #2a3539;border-radius:10px;padding:10px;display:flex;align-items:center;justify-content:space-between}
.timer strong{font:600 20px/1 'IBM Plex Mono',monospace;color:#fff}
.stop{background:#e2563f;color:#fff;border-radius:8px;padding:7px 12px;font-weight:600;font-size:11px}

.dev-tv{background:#060809;border-radius:12px;padding:10px;border:1px solid #303b3e;box-shadow:var(--sh-l)}
.tvs{background:#0f1416;border-radius:4px;padding:14px;color:#e3ebe9;display:flex;flex-direction:column;gap:10px}
.tvs-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8fa19f}
.tvs-h b{color:#fff;font-size:15px}
.tv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tv-c{background:#182024;border-radius:6px;padding:9px;font-size:10.5px;line-height:1.4;border-top:3px solid #56666b;display:flex;flex-direction:column;gap:5px}
.tv-c.wip{border-top-color:#e5a73a}
.tv-c.ok{border-top-color:var(--acqua)}
.tv-c.late{border-top-color:#e2563f}
.tv-c .who{color:#7fe0cf}
.tv-c .muted{color:#8a9b99}
.tv-stand{width:24%;height:14px;margin:0 auto;background:#1b2223;border-radius:0 0 8px 8px}

/* bolla AI */
.bolla{display:grid;grid-template-columns:200px 60px 1fr;align-items:center;gap:0}
.paper-doc{background:#fbfaf6;color:#2a2a2a;border-radius:6px;padding:14px;font:10px/1.5 'IBM Plex Mono',monospace;transform:rotate(-3deg);box-shadow:0 14px 30px rgba(0,0,0,.35)}
.paper-doc b{font-family:'Poppins',sans-serif;font-size:11px}
.paper-doc .ln{border-top:1px dashed #c9c5ba;padding-top:4px;margin-top:4px}
.arrow-ai{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--acqua);font:600 10px 'IBM Plex Mono',monospace}
.ai-tbl{background:#12181b;border:1px solid #2a3539;border-radius:10px;color:#dbe4e2;font-size:11px;overflow:hidden;box-shadow:var(--sh-l)}
.ai-row{display:grid;grid-template-columns:78px 1fr 34px 60px;gap:8px;padding:8px 10px;border-top:1px solid #222c30}
.ai-row:first-child{border-top:0;color:#7f908e;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em}
.ai-foot{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;background:#0f1517;border-top:1px solid #2a3539}
.ai-foot .pill-s{background:#1a2226;border:1px solid #2f3b40;border-radius:6px;padding:4px 8px}
.ai-save{background:var(--acqua);color:#0d1214;border-radius:6px;padding:5px 10px;font-weight:600}

/* striscia */
.keys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.key{display:flex;gap:12px;align-items:center;padding:22px 18px;border-left:1px solid var(--line-d);font-weight:500;font-size:15px;line-height:1.35;color:var(--on-dark)}
.key:first-child{border-left:0}
.key svg{color:var(--acqua);flex:none}

/* hero */
.hero{padding-top:88px;padding-bottom:0;overflow:hidden}
.hero-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.hero-c{display:flex;flex-direction:column;gap:26px;padding-bottom:72px}
.hero-ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;color:var(--on-dark);font-size:16px}
.hero-ul li{display:flex;gap:10px;align-items:flex-start}
.hero-ul svg{color:var(--acqua);flex:none;margin-top:4px}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-v{position:relative;padding:20px 0 0;min-height:520px}
.hero-v .dev-lap{width:94%}
.hero-v .dev-phone{position:absolute;right:-6px;bottom:-40px}
.note-s{font-size:14px;color:var(--on-dark-2)}

/* prima / dopo */
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.pd-col{border-radius:var(--r-l);padding:32px;display:flex;flex-direction:column;gap:6px}
.pd-a{background:#e9ebe8;border:1px solid var(--line)}
.pd-b{background:var(--ink-2);color:var(--on-dark)}
.pd-t{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pd-badge{font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:6px}
.pd-a .pd-badge{background:#d5d9d6;color:#3d474b}
.pd-b .pd-badge{background:rgba(54,179,160,.18);color:#7fe0cf}
.pd-li{display:flex;gap:14px;padding:14px 0;border-top:1px solid rgba(0,0,0,.08);align-items:flex-start;font-size:16px;line-height:1.5}
.pd-b .pd-li{border-top-color:#2a3539}
.pd-li svg{flex:none;margin-top:3px}
.pd-a svg{color:#8a5a4f}
.pd-b svg{color:var(--acqua)}

/* percorso auto */
.route{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;position:relative;counter-reset:st}
.route::before{content:"";position:absolute;left:3%;right:3%;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--acqua) 0 10px,transparent 10px 18px)}
.st{position:relative;display:flex;flex-direction:column;gap:10px;padding:0 10px}
.st-n{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--acqua);border:2px solid var(--acqua);display:flex;align-items:center;justify-content:center;font:600 17px 'IBM Plex Mono',monospace;position:relative}
.st h3{font-size:17px;font-weight:600;margin:6px 0 0;line-height:1.3}
.st p{margin:0;font-size:14.5px;line-height:1.5;color:var(--mute)}
.route-v{margin-top:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rv{background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:14px}
.rv-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.rv .small{margin:0}

/* funzioni in evidenza */
.feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center;padding:72px 0;border-top:1px solid var(--line-d)}
.feat:first-child{border-top:0;padding-top:0}
.feat.rev .feat-t{order:2}
.feat-t{display:flex;flex-direction:column;gap:18px}
.feat-n{font:600 13px 'IBM Plex Mono',monospace;color:var(--acqua)}
.feat-ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.feat-ul li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5}
.feat-ul svg{flex:none;color:var(--acqua);margin-top:4px}
.feat-v{display:flex;justify-content:center;position:relative}
.wow{display:inline-flex;align-self:flex-start;gap:8px;align-items:center;background:rgba(54,179,160,.16);color:#7fe0cf;border:1px solid rgba(54,179,160,.4);border-radius:30px;padding:6px 12px;font-size:13px;font-weight:600}
.steps5{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;counter-reset:s5}
.steps5 li{counter-increment:s5;background:var(--ink-3);border:1px solid var(--line-d);border-radius:10px;padding:12px;font-size:13px;line-height:1.4;display:flex;flex-direction:column;gap:6px}
.steps5 li::before{content:counter(s5);font:600 13px 'IBM Plex Mono',monospace;color:var(--acqua)}
.wa{background:#0f1517;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}
.wa-b{align-self:flex-end;background:#1f4d44;color:#e7f5f2;border-radius:12px 12px 2px 12px;padding:9px 11px;max-width:88%;font-size:11.5px;line-height:1.45}
.wa-b small{display:block;text-align:right;color:#9fc7bf;font-size:9.5px;margin-top:3px}
.tpl{display:flex;flex-wrap:wrap;gap:6px}
.tpl span{background:#1a2226;border:1px solid #2f3b40;border-radius:20px;padding:4px 9px;font-size:10px;color:#cfd9d7}
.tpl span.on{border-color:var(--acqua);color:#7fe0cf}
.sdi{background:#12181b;border:1px solid #2a3539;border-radius:12px;padding:16px;color:#dbe4e2;font-size:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh-l);width:100%;max-width:520px}
.sdi-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;background:#1a2226;border-radius:8px;border:1px solid #243035}
.sdi-err{background:#2a1b18;border:1px solid #5a2e25;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px;color:#f5d3cb}
.sdi-err b{color:#ffb4a4}
.sdi-fix{align-self:flex-start;background:var(--acqua);color:#0d1214;border-radius:6px;padding:6px 10px;font-weight:600}
.gomme{background:#12181b;border:1px solid #2a3539;border-radius:12px;padding:16px;color:#dbe4e2;font-size:12px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh-l)}
.gm-pos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.gm-pos div{background:#1a2226;border:1px solid #243035;border-radius:8px;padding:8px;font-size:10.5px;line-height:1.4}
.gm-pos b{display:block;color:#7fe0cf;font:600 10px 'IBM Plex Mono',monospace}
.gm-dep{display:flex;justify-content:space-between;align-items:center;background:#0f1517;border:1px dashed #3b4a4f;border-radius:8px;padding:10px}
.ubic{font:600 15px 'IBM Plex Mono',monospace;color:#fff;background:#243035;border-radius:6px;padding:6px 10px}
.inv{background:transparent;border:1.5px solid var(--acqua);color:#7fe0cf;border-radius:6px;padding:5px 10px;font-weight:600}

/* griglia funzioni */
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fc{background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:10px}
.fc-i{width:44px;height:44px;border-radius:10px;background:var(--acqua-l);color:var(--acqua-d);display:flex;align-items:center;justify-content:center}
.fc h3{font-size:17px;font-weight:600;margin:4px 0 0;line-height:1.3}
.fc p{margin:0;font-size:15px;line-height:1.5;color:var(--mute)}

/* ruoli */
.roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.role{background:var(--ink-3);border:1px solid var(--line-d);border-radius:var(--r-l);padding:26px;display:flex;flex-direction:column;gap:14px}
.role-t{display:flex;justify-content:space-between;align-items:center}
.role-b{font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--acqua);background:rgba(54,179,160,.12);padding:5px 8px;border-radius:6px}
.role ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;font-size:15px;line-height:1.45;color:var(--on-dark-2)}
.role li{padding-left:18px;position:relative}
.role li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--acqua)}
.role .no{color:#8d9c9b;font-size:13.5px;border-top:1px solid var(--line-d);padding-top:12px;margin-top:auto}

/* sedi + sicurezza */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.sedi-v{display:flex;flex-direction:column;gap:12px}
.sede{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.sede-c{width:14px;height:40px;border-radius:4px;flex:none}
.sede b{display:block;font-size:16px}
.sede .small{margin:0}
.sede .go-sw{margin-left:auto;font-size:13px;font-weight:600;color:var(--acqua-d)}
.unl{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.unl span{background:var(--acqua-l);color:var(--acqua-dd);border-radius:30px;padding:6px 12px;font-size:14px;font-weight:600}
.safe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.safe-c{border:1px solid var(--line-d);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:10px;background:var(--ink-2)}
.safe-c svg{color:var(--acqua)}
.safe-c p{margin:0;color:var(--on-dark-2);font-size:15px;line-height:1.5}

/* prezzi */
.prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.pc{background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);padding:28px 24px;display:flex;flex-direction:column;gap:18px;position:relative}
.pc.hl{background:var(--ink-2);color:var(--on-dark);border-color:var(--ink-2)}
.pc-flag{position:absolute;top:-13px;left:24px;background:var(--acqua);color:var(--ink);font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.06em;padding:5px 10px;border-radius:6px;text-transform:uppercase}
.pc-name{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.pc.hl .pc-name{color:var(--on-dark-2)}
.pc-price{font-size:44px;font-weight:700;letter-spacing:-.02em;line-height:1}
.pc-cr{font:500 15px 'IBM Plex Mono',monospace;color:var(--acqua-d)}
.pc.hl .pc-cr{color:var(--acqua)}
.pc-rows{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:auto}
.pc.hl .pc-rows{border-top-color:var(--line-d)}
.pc-row{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.pc.hl .pc-row{border-bottom-color:var(--line-d)}
.pc-row span:first-child{color:var(--mute)}
.pc.hl .pc-row span:first-child{color:var(--on-dark-2)}
.pc-row strong{font-weight:600}
.save{color:var(--acqua-d)}
.pc.hl .save{color:var(--acqua)}
.price-inc{margin-top:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);padding:22px 26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.price-inc b{font-size:16px}
.price-inc .unl{margin:0}
.fine{margin-top:14px;font-size:13px;color:var(--mute)}
.howcr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:40px}
.howcr div{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;line-height:1.5}
.howcr b{font:600 22px 'IBM Plex Mono',monospace;color:var(--acqua-d);line-height:1}

/* faq */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-size:18px;font-weight:600;line-height:1.4;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:32px;height:32px;border-radius:50%;border:1.5px solid #b9c2bf;display:flex;align-items:center;justify-content:center;flex:none;transition:transform .2s}
.faq details[open] summary .pm{transform:rotate(45deg);border-color:var(--acqua-d);color:var(--acqua-d)}
.faq .ans{padding:0 56px 24px 4px;color:#3a454a;font-size:16.5px;line-height:1.65}
.faq .ans p{margin:0 0 10px}
.todo{background:#fff4d6;color:#6b4d00;padding:1px 6px;border-radius:4px;font-family:'IBM Plex Mono',monospace;font-size:.88em}

/* card blog */
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.bcard{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit!important;background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:box-shadow .2s,transform .2s}
.bcard:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.bcard .ph{border-radius:0;min-height:200px;aspect-ratio:16/10}
.bcard-b{padding:4px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.bcard h3{font-size:19px;line-height:1.35;font-weight:600;margin:0;letter-spacing:-.01em}
.bcard p{margin:0;font-size:15px;line-height:1.55;color:var(--mute)}
.meta{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--mute);margin-top:auto;padding-top:6px;flex-wrap:wrap}
.meta i{width:3px;height:3px;border-radius:50%;background:#9aa5a8;display:inline-block}
.cat{align-self:flex-start;font:600 11.5px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:6px;background:var(--acqua-l);color:var(--acqua-dd);text-decoration:none}
.cat.c-fisco{background:#e3f0ef;color:#0f4a42}
.cat.c-gest{background:#e8ecf5;color:#263a73}
.cat.c-gomme{background:#ececec;color:#2d3134}
.cat.c-mag{background:#f6ecdf;color:#6a3b0a}
.cat.c-pers{background:#efe6f2;color:#5a2a6b}
.cat.c-new{background:#1f282c;color:#7fe0cf}

/* demo */
.demo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.demo-l{display:flex;flex-direction:column;gap:22px}
.reass{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.reass li{display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:1.5;color:var(--on-dark)}
.reass .ri{width:40px;height:40px;border-radius:10px;background:rgba(54,179,160,.14);color:var(--acqua);display:flex;align-items:center;justify-content:center;flex:none}
.reass b{display:block;color:#fff}
.reass span{color:var(--on-dark-2);font-size:15px}
.form{background:var(--white);color:var(--ink);border-radius:20px;padding:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;box-shadow:var(--sh-l)}
.form h3{grid-column:1/-1;margin:0 0 4px}
.fld{display:flex;flex-direction:column;gap:7px}
.fld.full{grid-column:1/-1}
.fld label,.fld legend{font-size:14px;font-weight:600;color:#26302f;padding:0}
.fld label span,.fld legend span{color:var(--mute);font-weight:400}
.inp{font:400 16px 'Poppins',sans-serif;color:var(--ink);background:#f7f8f7;border:1.5px solid #c9d0cd;border-radius:var(--r);min-height:50px;padding:12px 14px;width:100%}
.inp:focus{outline:none;border-color:var(--acqua-d);box-shadow:0 0 0 3px rgba(54,179,160,.25);background:#fff}
textarea.inp{min-height:96px;resize:vertical}
fieldset.fld{border:0;margin:0;padding:0}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.seg label{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid #c9d0cd;border-radius:var(--r);min-height:50px;padding:8px;font-weight:500;cursor:pointer;font-size:15px;text-align:center}
.seg label.on{border-color:var(--acqua-d);background:var(--acqua-l);color:var(--acqua-dd)}
.seg input{accent-color:#1b7568}
.priv{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:#3a454a}
.priv input{width:22px;height:22px;margin:0;accent-color:#1b7568;flex:none}
.form .btn{grid-column:1/-1}
.form-note{grid-column:1/-1;margin:0;font-size:13px;color:var(--mute);text-align:center}


/* CTA band */
.band{background:var(--ink-2);color:var(--on-dark);border-radius:20px;padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.band h3{color:#fff}
.band p{margin:6px 0 0;color:var(--on-dark-2);font-size:16px}

/* blog lista */
.bl-hero{background:var(--ink-2);color:var(--on-dark);padding-top:72px;padding-bottom:64px}
.bl-hero-g{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.bl-hero-g .lead{margin-top:14px}
.go-search-box{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:6px 6px 6px 16px;min-width:380px;max-width:100%;color:var(--ink)}
.go-search-box svg{color:var(--mute);flex:none}
.go-search-box input{border:0;outline:0;font:400 16px 'Poppins',sans-serif;flex:1;min-width:0;min-height:44px;background:transparent;color:var(--ink)}
.go-search-box:focus-within{box-shadow:0 0 0 3px var(--acqua)}
.pills{display:flex;gap:8px;flex-wrap:wrap;padding:28px 0}
.pill{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:30px;border:1.5px solid #c9d0cd;background:var(--white);color:var(--ink)!important;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}
.pill:hover{border-color:var(--ink)}
.pill.on{background:var(--ink);border-color:var(--ink);color:#fff!important}
.pill small{margin-left:6px;opacity:.65;font-family:'IBM Plex Mono',monospace;font-size:12px}
.feat-post{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit!important;margin-bottom:48px}
.feat-post .ph{border-radius:0;min-height:380px}
.feat-post-b{padding:44px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.feat-post h2{font-size:32px;line-height:1.2;letter-spacing:-.02em;margin:0}
.feat-post p{margin:0;color:var(--mute);font-size:17px}
.new-b{font:600 11.5px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--warn)}
.bl-banner{grid-column:1/-1;display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap;background:var(--acqua-l);border:1px solid #bfe3dc;border-radius:var(--r-l);padding:24px 28px}
.bl-banner p{margin:0;font-size:17px;font-weight:500;color:var(--acqua-dd)}
.bl-banner p span{display:block;font-weight:400;font-size:15px;color:#2f5f58}
.pager{display:flex;justify-content:center;gap:6px;padding:56px 0 8px;flex-wrap:wrap}
.pager a,.pager span{min-width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1.5px solid #c9d0cd;color:var(--ink)!important;text-decoration:none;font-weight:600;padding:0 14px;background:var(--white)}
.pager .on{background:var(--ink);border-color:var(--ink);color:#fff!important}
.pager .gap{border:0;background:transparent;min-width:24px}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--on-dark-2);margin-bottom:18px}
.crumb a{color:var(--on-dark-2)!important;text-decoration:none}
.crumb a:hover{color:#fff!important;text-decoration:underline}
.light .crumb{color:var(--mute)}
.light .crumb a{color:var(--mute)!important}
.light .crumb a:hover{color:var(--ink)!important}
.empty{background:var(--white);border:1px dashed #b9c2bf;border-radius:20px;padding:56px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;margin:16px 0 56px}
.empty-i{width:64px;height:64px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--mute)}
.empty p{margin:0;color:var(--mute);max-width:520px}
.empty .pills{justify-content:center;padding:8px 0 0}

/* articolo */
.art-hero{background:var(--white);padding:48px 0 0;border-bottom:1px solid var(--line)}
.art-hero-in{max-width:880px;margin:0 auto;padding:0 32px;display:flex;flex-direction:column;gap:18px}
.art-h1{font-size:46px;line-height:1.12;letter-spacing:-.025em;font-weight:700;margin:0}
.art-sub{font-size:20px;line-height:1.6;color:var(--mute);margin:0}
.byline{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font-size:14.5px;color:var(--mute);padding:6px 0 4px}
.byline .av{width:44px;height:44px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;flex:none}
.byline b{color:var(--ink);font-weight:600}
.by-a{display:flex;gap:12px;align-items:center}
.art-fig{max-width:1120px;margin:28px auto 0;padding:0 32px}
.art-fig .ph{min-height:460px;border-radius:20px 20px 0 0}
.figcap{font-size:14px;color:var(--mute);padding:12px 0 18px;margin:0}
.art-body{max-width:1200px;margin:0 auto;padding:56px 32px 0;display:grid;grid-template-columns:240px minmax(0,720px) 1fr;gap:56px}
.toc{position:sticky;top:100px;align-self:start;font-size:14.5px}
.toc details{border:0}
.toc summary{list-style:none;font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:0 0 12px;cursor:default;display:flex;justify-content:space-between;align-items:center}
.toc summary::-webkit-details-marker{display:none}
.toc summary .chev{display:none}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);display:flex;flex-direction:column}
.toc ol a{display:block;padding:8px 0 8px 16px;margin-left:-2px;border-left:2px solid transparent;color:#3a454a!important;text-decoration:none;line-height:1.4}
.toc ol a:hover{color:var(--ink)!important}
.toc ol a.on{border-left-color:var(--acqua-d);color:var(--acqua-d)!important;font-weight:600}
.toc-share{margin-top:28px;display:flex;flex-direction:column;gap:10px}
.prose{font-size:18.5px;line-height:1.75;color:#1d2528;min-width:0}
.prose > *{margin:0 0 24px}
.prose h2{font-size:30px;line-height:1.25;letter-spacing:-.02em;font-weight:700;margin:56px 0 18px;scroll-margin-top:100px}
.prose h3{font-size:22px;line-height:1.35;font-weight:600;margin:36px 0 12px}
.prose ul,.prose ol{padding-left:26px}
.prose li{margin:0 0 10px;padding-left:4px}
.prose li::marker{color:var(--acqua-d);font-weight:600}
.prose strong{font-weight:600;color:var(--ink)}
.prose a{text-decoration-thickness:1.5px;text-underline-offset:3px}
.prose blockquote{margin:36px 0;padding:6px 0 6px 28px;border-left:4px solid var(--acqua);font-size:22px;line-height:1.5;font-weight:500;color:var(--ink)}
.prose blockquote cite{display:block;margin-top:10px;font-size:14px;font-style:normal;font-weight:400;color:var(--mute)}
.prose code{font-family:'IBM Plex Mono',monospace;font-size:.86em;background:#eef1ef;border:1px solid #dde2e0;padding:1px 6px;border-radius:5px}
.prose figure{margin:36px 0}
.prose figure .ph{min-height:300px}
.prose figcaption{font-size:14px;color:var(--mute);margin-top:10px}
.brief{background:var(--ink-2);color:var(--on-dark);border-radius:var(--r-l);padding:26px 28px}
.brief h2{margin:0 0 14px!important;font-size:14px!important;font-family:'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--acqua);font-weight:600}
.brief ul{margin:0;padding-left:22px}
.brief li{margin:0 0 8px;font-size:17px;line-height:1.55}
.brief li::marker{color:var(--acqua)}
.box{border-radius:var(--r-l);padding:20px 22px;display:flex;gap:16px;align-items:flex-start;font-size:17px;line-height:1.6}
.box svg{flex:none;margin-top:3px}
.box p{margin:0}
.box b{display:block;margin-bottom:2px}
.box-tip{background:var(--acqua-l);color:#123f39;border:1px solid #bfe3dc}
.box-tip svg{color:var(--acqua-d)}
.box-warn{background:var(--warn-l);color:#5a2d07;border:1px solid #f1cfa9}
.box-warn svg{color:var(--warn)}
.tbl-w{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-l);background:#fff}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45;min-width:560px}
.tbl th{text-align:left;background:#f1f3f2;font-weight:600;padding:13px 16px;border-bottom:1px solid var(--line);font-size:14px}
.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--acqua-dd);white-space:nowrap}
.code{background:#0f1517;color:#d6e2df;border-radius:var(--r-l);overflow:hidden;font:400 14px/1.7 'IBM Plex Mono',monospace}
.code-h{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#1a2226;color:#8fa19f;font-size:12.5px}
.code pre{margin:0;padding:16px 18px;overflow-x:auto;white-space:pre}
.code .k{color:#7fe0cf}.code .s{color:#f2c26b}.code .c{color:#7b8b89}
.art-cta{background:var(--ink-2);color:var(--on-dark);border-radius:var(--r-l);padding:28px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.art-cta p{margin:0}
.art-cta .t{font-size:22px;font-weight:600;line-height:1.35;color:#fff}
.art-cta .d{color:var(--on-dark-2);font-size:16px;line-height:1.55}
.art-cta .btn{align-self:flex-start}
.art-faq h2{margin-top:56px}
.author{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:24px}
.author .av{width:64px;height:64px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;flex:none}
.author p{margin:6px 0 0;font-size:15.5px;line-height:1.6;color:var(--mute)}
.share{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.share .lbl{font-weight:600;font-size:15px;margin-right:4px}
.sh{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:10px;border:1.5px solid #c9d0cd;background:#fff;color:var(--ink)!important;text-decoration:none;font-size:14.5px;font-weight:500;cursor:pointer;font-family:'Poppins',sans-serif}
.sh:hover{border-color:var(--ink)}
.sh-i{width:44px;padding:0;justify-content:center}
.upd{display:inline-flex;gap:6px;align-items:center;background:var(--acqua-l);color:var(--acqua-dd);border-radius:6px;padding:3px 8px;font-size:13px;font-weight:500}
.art-end{max-width:1200px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:240px minmax(0,720px) 1fr;gap:56px}
.art-end > div{grid-column:2;display:flex;flex-direction:column;gap:28px}


/* ===== tablet ===== */
@media (max-width: 1080px){
  .route{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:36px}
  .route::before{display:none}
  .fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .roles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prices{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .keys{grid-template-columns:repeat(3,minmax(0,1fr))}
  .key:nth-child(4){border-left:0}
  .key{border-top:1px solid var(--line-d)}
  .key:nth-child(-n+3){border-top:0}
  .art-body,.art-end{grid-template-columns:200px minmax(0,1fr);gap:40px}
  .art-end > div{grid-column:2}
}
@media (max-width: 900px){
  .hero-g,.split,.demo,.feat,.pd,.feat-post{grid-template-columns:minmax(0,1fr)}
  .feat.rev .feat-t{order:0}
  .feat{gap:40px}
  .route-v{grid-template-columns:minmax(0,1fr)}
  .bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .art-body,.art-end{grid-template-columns:minmax(0,1fr)}
  .art-end > div{grid-column:1}
  .toc{position:static;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0}
  .toc summary{cursor:pointer;padding:16px 18px;min-height:52px}
  .toc summary .chev{display:block}
  .toc ol{border-left:0;padding:0 10px 12px}
  .toc ol a{border-left:0;padding:10px 8px}
  .toc-share{display:none}
}
/* ===== mobile ===== */
@media (max-width: 640px){
  .wrap,.wrap-s,.art-hero-in,.art-fig,.art-body,.art-end{padding-left:16px;padding-right:16px}
  .sec{padding-top:64px;padding-bottom:64px}
  .sec-s{padding-top:48px;padding-bottom:48px}
  .sec-head{margin-bottom:36px}
  .h1{font-size:36px;line-height:1.1}
  .h2{font-size:29px}
  .h3{font-size:21px}
  .lead{font-size:17px}
  .hero{padding-top:40px}
  .hero-c{padding-bottom:16px;gap:20px}
  .hero-ul{grid-template-columns:minmax(0,1fr)}
  .ctas{flex-direction:column}
  .ctas .btn{width:100%}
  .hero-v{min-height:0;padding-bottom:64px}
  .hero-v .dev-lap{width:100%}
  .hero-v .dev-phone{width:150px;right:-4px;bottom:20px}
  .hero-v .scr{min-height:290px;font-size:9px;padding:10px 8px;border-radius:20px}
  .app{grid-template-columns:minmax(0,1fr);min-height:0}
  .app-side{display:none}
  .app-row{grid-template-columns:72px 1fr 58px}
  .app-row > :nth-child(3){display:none}
  .keys{grid-template-columns:minmax(0,1fr)}
  .key{border-left:0!important;border-top:1px solid var(--line-d)!important;padding:14px 4px}
  .key:first-child{border-top:0!important}
  .pd-col{padding:22px}
  .route{grid-template-columns:minmax(0,1fr);row-gap:0}
  .st{display:grid;grid-template-columns:48px 1fr;column-gap:16px;padding:0 0 22px;position:relative}
  .st::after{content:"";position:absolute;left:23px;top:50px;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--acqua) 0 8px,transparent 8px 14px)}
  .st:last-child::after{display:none}
  .st-n{width:48px;height:48px;grid-row:1/4;font-size:15px}
  .st h3{margin:0;padding-top:10px}
  .feat{padding:48px 0}
  .steps5{grid-template-columns:minmax(0,1fr)}
  .bolla{grid-template-columns:minmax(0,1fr);gap:16px;justify-items:center}
  .paper-doc{width:200px}
  .arrow-ai{transform:rotate(90deg)}
  .tv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tv-grid > :nth-child(3){display:none}
  .gm-pos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid,.roles,.safe,.prices,.bgrid,.howcr{grid-template-columns:minmax(0,1fr)}
  .fc{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:4px 14px;padding:18px}
  .fc h3{margin:0;flex:1;align-self:center}
  .fc p{flex-basis:100%}
  .pc-price{font-size:38px}
  .faq summary{font-size:16.5px;padding:18px 0}
  .faq .ans{padding:0 0 20px}
  .form{grid-template-columns:minmax(0,1fr);padding:22px;border-radius:16px}
  .seg{grid-template-columns:minmax(0,1fr)}
  .band{padding:28px 22px}
  .band .btn{width:100%}
  .bl-hero{padding-top:44px;padding-bottom:36px}
  .go-search-box{min-width:0;width:100%}
  .pills{flex-wrap:nowrap;overflow-x:auto;padding:20px 16px;margin:0 -16px;scrollbar-width:none}
  .feat-post .ph{min-height:220px}
  .feat-post-b{padding:22px}
  .feat-post h2{font-size:24px}
  .bl-banner{padding:20px}
  .bl-banner .btn{width:100%}
  .pager a,.pager span{min-width:44px;height:44px;padding:0 10px}
  .pager .hide-m{display:none}
  .art-hero{padding-top:28px}
  .art-h1{font-size:31px}
  .art-sub{font-size:17.5px}
  .art-fig .ph{min-height:230px;border-radius:14px 14px 0 0}
  .art-body{padding-top:32px}
  .prose{font-size:17.5px;line-height:1.72}
  .prose h2{font-size:25px;margin-top:44px}
  .prose h3{font-size:20px}
  .prose blockquote{font-size:19px;padding-left:20px}
  .box{padding:16px;font-size:16px;gap:12px}
  .author{flex-direction:column}
  .sh-t{display:none}
  .art-cta .btn{width:100%}
}
