/* Gestito da Ansible (ruolo web_stack). Stile delle pagine pubbliche di innova.engineering: rosso Innova dell'EIP (#b21917, vedi inneng-idp: --innova-primary). */
/* PALETTE PROVVISORIA, DA CONFERMARE. Colori aggiornati (Gloria Micheli, 07/09/2026, solo CMYK): oro C30 M49 Y100 K27 (~#825F00), verde C90 M34 Y85 K28 (~#12791C): conversione RGB approssimata, NON ancora applicati. Fino alla conferma resta il rosso attuale. */
:root {
  --green: #b21917;
  --green-dark: #9a1513;
  --ink: #141414;
  --ink-soft: #4a4a4a;
  --paper: #ffffff;
  --panel: #faf5f4;
  --border: #ecdedc;
  --radius: 12px;
  --font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --green: #d62221; --green-dark: #ef4444; --ink: #f4f1f0; --ink-soft: #bdb4b2; --paper: #141010; --panel: #1d1616; --border: #342626; }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font: 16px/1.65 var(--font); color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
a { color: var(--green); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 860px; margin: 0 auto; padding: 0 22px; }
header.site { border-bottom: 1px solid var(--border); background: var(--paper); }
header.site .wrap { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; padding-bottom: 16px; gap: 16px; }
header.site img.logo { height: 44px; width: auto; display: block; }
header.site nav a { margin-left: 18px; font-weight: 600; font-size: 15px; color: var(--ink-soft); }
header.site nav a:hover { color: var(--green); text-decoration: none; }
main { padding: 52px 0 40px; }
.eyebrow { color: var(--green); font-weight: 700; font-size: 13px; letter-spacing: .09em; text-transform: uppercase; margin: 0 0 10px; }
h1 { font-size: 36px; line-height: 1.15; letter-spacing: -0.02em; font-weight: 800; margin: 0 0 18px; }
h2 { font-size: 21px; font-weight: 800; margin: 34px 0 8px; letter-spacing: -0.01em; }
p, li { color: var(--ink-soft); }
li { margin: 4px 0; }
.lead { font-size: 18px; max-width: 640px; }
.btn { display: inline-flex; align-items: center; gap: 10px; background: var(--green); color: #fff; padding: 13px 24px; border-radius: 10px; font-weight: 700; font-size: 16px; margin-top: 10px; }
.btn:hover { background: var(--green-dark); text-decoration: none; }
.card { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 24px; margin: 26px 0; }
.card p { margin: 4px 0; }
.lang { margin: 0 0 24px; font-size: 14px; }
.lang a { margin-right: 14px; font-weight: 700; }
hr.sep { border: 0; border-top: 1px solid var(--border); margin: 54px 0 30px; }
footer.site { border-top: 1px solid var(--border); background: var(--panel); padding: 26px 0 34px; font-size: 14px; color: var(--ink-soft); }
footer.site a { margin-right: 16px; }
footer.site p { margin: 3px 0; color: var(--ink-soft); }
.updated { font-size: 13px; color: var(--ink-soft); margin-top: 30px; }
.draft { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--green); border: 1px solid var(--green); border-radius: 999px; padding: 1px 8px; margin-left: 6px; vertical-align: middle; }
.notice { font-size: 14px; background: var(--panel); border: 1px dashed var(--border); border-radius: var(--radius); padding: 10px 14px; margin: 26px 0 0; }
section { scroll-margin-top: 16px; }
@media (max-width: 560px) { h1 { font-size: 28px; } header.site .wrap { flex-wrap: wrap; } header.site nav a { margin: 0 14px 0 0; } }
.specs { width: 100%; border-collapse: collapse; margin: 14px 0 6px; font-size: 14.5px; }
.specs th, .specs td { text-align: left; padding: 10px 10px; border-bottom: 1px solid var(--border); vertical-align: top; }
.specs th { font-size: 12px; letter-spacing: .07em; text-transform: uppercase; color: var(--ink-soft); }
code { font: 13px/1.4 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; background: var(--panel); border: 1px solid var(--border); border-radius: 6px; padding: 1px 6px; }
@media (max-width: 640px) { .specs { display: block; overflow-x: auto; } }
