/* Guida editoriale Jurio: stili autonomi, allineati alla palette dell'app. */
:root {
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
  --font-serif: "Lora", "Merriweather", Georgia, "Times New Roman", serif;
  --color-bg: #f5f6f7;
  --color-surface: #fff;
  --color-text: #1a1d21;
  --color-primary: #8a5c16;
  --color-primary-hover: #70470f;
  --color-border: #d6d9de;
  --color-muted: #5f6672;
  --shadow-soft: 0 14px 45px rgba(42, 34, 24, .07);
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body, button, a { font-family: var(--font-sans); }
body { margin: 0; min-width: 320px; background: var(--color-bg); color: var(--color-text); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; line-height: 1.75; }
h1, h2, h3 { font-family: var(--font-serif); }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 1000; top: 1rem; left: 1rem; transform: translateY(-160%); padding: .7rem 1rem; background: var(--color-text); color: var(--color-bg); font-weight: 700; text-decoration: none; }
.skip-link:focus { transform: translateY(0); }

@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #111;
    --color-surface: #1a1a1a;
    --color-text: #e6e7ea;
    --color-primary: #e0a32e;
    --color-primary-hover: #f0b541;
    --color-border: #2e2e2e;
    --color-muted: #a1a7b0;
    --shadow-soft: 0 8px 18px rgba(0, 0, 0, .45);
  }
}

.guide-body {
  --g-paper: var(--color-surface);
  --g-canvas: var(--color-bg);
  --g-ink: var(--color-text);
  --g-muted: var(--color-muted);
  --g-line: var(--color-border);
  --g-accent: var(--color-primary);
  margin: 0;
  background: var(--g-canvas);
  color: var(--g-ink);
}

.guide-main { overflow: visible; padding: 28px 16px 48px; }
.guide-controls { display: flex; width: 210mm; max-width: calc(100vw - 32px); justify-content: flex-end; margin: 0 auto 14px; }
.guide-print { display: inline-flex; min-height: 42px; align-items: center; gap: .45rem; padding: .65rem .9rem; border: 1px solid var(--g-line); border-radius: 0; background: var(--g-paper); color: var(--g-ink); font: 700 .78rem/1.2 var(--font-sans); cursor: pointer; }
.guide-print span { color: var(--g-accent); }
.guide-print:hover { border-color: var(--g-accent); }
.guide-pages { display: flex; width: max-content; flex-direction: column; align-items: center; gap: 28px; margin-inline: auto; zoom: var(--guide-page-zoom, 1); }
.guide-page {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 210mm;
  height: 297mm;
  min-height: 297mm;
  margin: 0 auto;
  padding: 16mm 17mm 12mm;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--g-line);
  background: var(--g-paper);
  color: var(--g-ink);
  box-shadow: var(--shadow-soft);
}
.guide-page-content { position: relative; z-index: 1; flex: 1 1 auto; min-height: 0; }
.guide-page-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 3mm; border-top: 1px solid var(--g-line); color: var(--g-muted); font-size: 7pt; font-weight: 700; letter-spacing: .1em; }
.guide-page:not(.guide-cover):not(.guide-page-cta)::before, .guide-page-cta::after { position: absolute; z-index: 0; top: 25mm; left: 5mm; width: 8mm; height: calc(100% - 45mm); opacity: .8; content: url("/guide-thread.svg"); object-fit: fill; pointer-events: none; }
.guide-page-art { position: absolute; z-index: 0; right: 14mm; bottom: 24mm; width: 96mm; height: 96mm; color: var(--g-accent); opacity: .11; pointer-events: none; }
.guide-cover .guide-page-art { right: 10mm; bottom: 12mm; width: 118mm; height: 118mm; opacity: .045; }
.guide-page-cta .guide-page-art { right: 12mm; bottom: 20mm; width: 108mm; height: 108mm; opacity: .08; }
.guide-kicker, .guide-label { margin: 0; color: var(--g-accent); font-size: 8pt; font-weight: 800; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
.guide-kicker span { margin-inline: 1mm; color: var(--g-muted); font-weight: 400; }
.guide-page-title { max-width: 155mm; margin: 7mm 0 0; color: var(--g-ink); font: 500 31pt/1.08 var(--font-serif); letter-spacing: -.045em; text-wrap: balance; }
.guide-page-title em, .guide-cover h1 em { color: var(--g-accent); font-style: italic; }
.guide-page-lead { max-width: 155mm; margin: 4mm 0 0; color: var(--g-muted); font-size: 11pt; line-height: 1.65; }

/* Brand cover */
.guide-cover { position: relative; isolation: isolate; align-items: center; justify-content: center; padding: 16mm 17mm; background: radial-gradient(ellipse at 50% 46%, color-mix(in srgb, var(--g-accent) 10%, var(--g-paper)) 0, var(--g-paper) 52%); }
.guide-cover::before, .guide-cover::after { position: absolute; z-index: -1; top: 50%; left: 50%; border: 1px solid color-mix(in srgb, var(--g-accent) 24%, transparent); border-radius: 50%; content: ""; transform: translate(-50%,-50%); }
.guide-cover::before { width: 142mm; height: 142mm; }
.guide-cover::after { width: 174mm; height: 174mm; border-color: color-mix(in srgb, var(--g-line) 78%, transparent); }
.guide-cover .guide-page-content { display: flex; width: 100%; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.guide-cover-brand { position: relative; display: flex; flex-direction: column; align-items: center; }
.guide-cover-brand::before { position: absolute; z-index: -1; top: -9mm; left: 50%; width: 74mm; height: 74mm; border-radius: 50%; background: color-mix(in srgb, var(--g-accent) 8%, transparent); content: ""; transform: translateX(-50%); }
.guide-cover-brand img { display: block; width: 42mm; height: 42mm; object-fit: contain; filter: drop-shadow(0 8px 18px color-mix(in srgb, var(--g-ink) 12%, transparent)); }
.guide-cover-brand h1 { margin: 8mm 0 0; color: var(--g-ink); font: 600 43pt/1.05 var(--font-serif); letter-spacing: -.055em; }
.guide-cover-brand > p:first-of-type { margin: 4mm 0 0; color: var(--g-muted); font-size: 11pt; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.guide-cover-brand > p:first-of-type::before { display: block; width: 16mm; height: 1px; margin: 0 auto 4mm; background: var(--g-accent); content: ""; }
.guide-cover-promise { margin: 9mm 0 0; color: var(--g-ink); font: 500 20pt/1.2 var(--font-serif); letter-spacing: -.035em; }
.guide-cover-promise em { color: var(--g-accent); font-style: italic; }
.guide-cover-description { max-width: 126mm; margin: 3mm 0 0; color: var(--g-muted); font-size: 9pt; line-height: 1.5; }
.guide-cover-illustration { display: block; width: 160mm; max-width: 100%; height: auto; margin: 8mm auto 0; overflow: visible; }
.guide-cover-offer { display: flex; align-items: baseline; justify-content: center; gap: 4mm; margin-top: 7mm; padding-top: 3.5mm; border-top: 1px solid var(--g-line); }
.guide-cover-offer span { color: var(--g-muted); font-size: 7pt; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.guide-cover-offer strong { color: var(--g-ink); font: 600 13pt/1.2 var(--font-serif); }
.guide-cover-footnote { max-width: 126mm; margin: 2.5mm 0 0; color: var(--g-muted); font-size: 7pt; line-height: 1.45; }

/* Database page */
.guide-court-list { margin-top: 8mm; border-top: 1px solid var(--g-line); }
.guide-court-list > div { display: grid; grid-template-columns: 12mm 1fr; align-items: center; gap: 3mm; min-height: 19mm; padding: 3mm 0; border-bottom: 1px solid var(--g-line); }
.guide-index { color: var(--g-accent); font-size: 8pt; font-weight: 800; letter-spacing: .08em; }
.guide-court-list h3 { margin: 0; color: var(--g-ink); font: 600 15pt/1.2 var(--font-serif); }
.guide-court-list p { margin: 1mm 0 0; color: var(--g-muted); font-size: 9.5pt; line-height: 1.45; }
.guide-editorial-image { margin: 8mm 0 0; }
.guide-editorial-image img { display: block; width: 100%; max-height: 62mm; object-fit: contain; object-position: center; background: var(--g-canvas); }
.guide-editorial-image figcaption, .guide-search-image figcaption { margin-top: 2mm; color: var(--g-muted); font-size: 8pt; line-height: 1.45; }
.guide-process-line { display: flex; align-items: center; justify-content: space-between; gap: 3mm; margin-top: 8mm; padding: 4mm 0; border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); color: var(--g-ink); font-size: 9pt; font-weight: 700; }
.guide-process-line i { color: var(--g-accent); font-style: normal; }
.guide-source-note { margin: 5mm 0 0; padding: 3mm 4mm; border-left: 1mm solid var(--g-accent); color: var(--g-muted); font-size: 9pt; line-height: 1.55; }
.guide-source-note strong { color: var(--g-ink); }

/* Search page */
.guide-steps { margin: 8mm 0 0; padding: 0; list-style: none; border-top: 1px solid var(--g-line); }
.guide-steps li { display: grid; grid-template-columns: 13mm 1fr; gap: 3mm; padding: 4mm 0; border-bottom: 1px solid var(--g-line); }
.guide-steps li > span { padding-top: 1mm; color: var(--g-accent); font-size: 8pt; font-weight: 800; letter-spacing: .08em; }
.guide-steps h3 { margin: 0; color: var(--g-ink); font: 600 14pt/1.2 var(--font-serif); }
.guide-steps p { margin: 1mm 0 0; color: var(--g-muted); font-size: 9.5pt; line-height: 1.5; }
.guide-query-example { margin-top: 8mm; padding: 4mm 5mm; border-left: 1mm solid var(--g-accent); background: color-mix(in srgb, var(--g-accent) 5%, var(--g-paper)); }
.guide-query-example blockquote { margin: 2mm 0 0; color: var(--g-ink); font: 500 15pt/1.45 var(--font-serif); }
.guide-search-image { margin: 8mm 0 0; }
.guide-search-image img { display: block; width: 100%; max-height: 67mm; object-fit: contain; object-position: center; background: var(--g-canvas); }

/* Integrations page */
.guide-client-list { margin-top: 8mm; border-top: 1px solid var(--g-line); }
.guide-client-row { padding: 5mm 0; border-bottom: 1px solid var(--g-line); }
.guide-client-copy { display: grid; grid-template-columns: 32mm 40mm minmax(0,1fr); align-items: baseline; gap: 4mm; }
.guide-client-copy .guide-label { color: var(--g-muted); }
.guide-client-copy h3 { margin: 0; color: var(--g-ink); font: 600 15pt/1.2 var(--font-serif); }
.guide-client-copy > p:last-child { margin: 0; color: var(--g-muted); font-size: 10pt; line-height: 1.5; }
.guide-mcp-diagram { display: grid; grid-template-columns: 1fr; justify-items: center; margin-top: 8mm; padding: 5mm 6mm; border: 1px solid var(--g-line); background: linear-gradient(145deg, color-mix(in srgb, var(--g-accent) 5%, var(--g-paper)), var(--g-paper) 60%); }
.guide-mcp-clients { display: grid; width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3mm; }
.guide-mcp-client { display: flex; min-height: 21mm; align-items: center; justify-content: center; gap: 2mm; padding: 2.5mm; border: 1px solid var(--g-line); background: var(--g-paper); color: var(--g-ink); font-size: 9pt; font-weight: 700; }
.guide-mcp-client img { width: 8mm; height: 8mm; object-fit: contain; }
.guide-mcp-flow { position: relative; display: flex; width: 68%; height: 16mm; align-items: center; justify-content: center; }
.guide-mcp-flow::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: color-mix(in srgb, var(--g-accent) 60%, var(--g-line)); content: ""; }
.guide-mcp-flow::after { position: absolute; bottom: 2mm; left: 50%; width: 2mm; height: 2mm; border-right: 1px solid var(--g-accent); border-bottom: 1px solid var(--g-accent); content: ""; transform: translateX(-50%) rotate(45deg); }
.guide-mcp-flow > span { position: absolute; top: 0; width: 33.333%; height: 7mm; border-bottom: 1px solid color-mix(in srgb, var(--g-accent) 60%, var(--g-line)); }
.guide-mcp-flow > span:first-child { left: 0; border-left: 1px solid color-mix(in srgb, var(--g-accent) 60%, var(--g-line)); border-radius: 0 0 0 5mm; }
.guide-mcp-flow > span:nth-child(2) { left: 33.333%; border-radius: 0 0 5mm 5mm; }
.guide-mcp-flow > span:nth-child(3) { right: 0; border-right: 1px solid color-mix(in srgb, var(--g-accent) 60%, var(--g-line)); border-radius: 0 0 5mm 0; }
.guide-mcp-flow b { position: relative; z-index: 1; padding: 1mm 3mm; border: 1px solid color-mix(in srgb, var(--g-accent) 35%, var(--g-line)); background: var(--g-paper); color: var(--g-accent); font-size: 7pt; letter-spacing: .16em; }
.guide-mcp-destination { display: flex; min-width: 66mm; align-items: center; justify-content: center; gap: 3mm; padding: 3mm 6mm; border: 1px solid color-mix(in srgb, var(--g-accent) 40%, var(--g-line)); background: var(--g-paper); }
.guide-mcp-destination img { width: 12mm; height: 12mm; object-fit: contain; }
.guide-mcp-destination div { display: flex; flex-direction: column; text-align: left; }
.guide-mcp-destination strong { color: var(--g-ink); font: 600 14pt/1.1 var(--font-serif); }
.guide-mcp-destination small { margin-top: 1mm; color: var(--g-muted); font-size: 7pt; }
.guide-mcp-intro { max-width: 150mm; margin: 4mm auto 0; color: var(--g-muted); font-size: 9pt; line-height: 1.55; text-align: center; }
.guide-mcp-steps { margin: 8mm 0 0; padding: 0; list-style: none; counter-reset: mcpstep; }
.guide-mcp-steps li { display: grid; grid-template-columns: 12mm 1fr; gap: 3mm; padding: 3.5mm 0; border-bottom: 1px solid var(--g-line); }
.guide-mcp-steps li span { color: var(--g-accent); font-size: 8pt; font-weight: 800; letter-spacing: .08em; }
.guide-mcp-steps p { margin: 0; color: var(--g-muted); font-size: 10pt; line-height: 1.5; }
.guide-endpoint { display: flex; justify-content: space-between; align-items: center; gap: 5mm; margin-top: 7mm; padding: 4mm 0; border-bottom: 1px solid var(--g-line); }
.guide-endpoint span { color: var(--g-muted); font-size: 8pt; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.guide-endpoint code { color: var(--g-ink); font: 600 15pt/1.3 var(--font-sans); }
.guide-page .guide-source-note { margin-top: 4mm; }

/* Pricing page */
.guide-plans { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 9mm; border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); }
.guide-plan { padding: 7mm 7mm 7mm 0; }
.guide-plan + .guide-plan { padding-right: 0; padding-left: 7mm; border-left: 1px solid var(--g-line); }
.guide-plan-business { background: linear-gradient(145deg, color-mix(in srgb, var(--g-accent) 5%, var(--g-paper)), var(--g-paper) 72%); }
.guide-plan li strong { color: var(--g-ink); }
.guide-plan-top { min-height: 20mm; }
.guide-plan-top h3 { margin: 2mm 0 0; color: var(--g-ink); font: 600 22pt/1.1 var(--font-serif); }
.guide-plan-prices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3mm; margin-top: 4mm; }
.guide-plan-prices p { display: flex; flex-direction: column; gap: 1mm; margin: 0; }
.guide-plan-prices strong { color: var(--g-ink); font: 500 17pt/1 var(--font-serif); letter-spacing: -.03em; }
.guide-plan-prices span { color: var(--g-muted); font-size: 8pt; }
.guide-plan-equivalent { min-height: 8mm; margin: 3mm 0 0; color: var(--g-muted); font-size: 8pt; line-height: 1.45; }
.guide-plan ul { display: grid; gap: 2.5mm; margin: 5mm 0 0; padding: 4mm 0 0; border-top: 1px solid var(--g-line); list-style: none; }
.guide-plan li { position: relative; padding-left: 5mm; color: var(--g-muted); font-size: 9pt; line-height: 1.45; }
.guide-plan li::before { position: absolute; left: 0; color: var(--g-accent); content: "—"; }
.guide-workspace { margin-top: 8mm; padding: 4mm 0; border-bottom: 1px solid var(--g-line); }
.guide-workspace > p:nth-child(2) { display: flex; flex-wrap: wrap; gap: 3mm 8mm; margin: 2mm 0; color: var(--g-ink); font-size: 10pt; }
.guide-workspace > p:nth-child(2) strong { font-weight: 700; }
.guide-workspace small { color: var(--g-muted); font-size: 8pt; }
.guide-workspace a, .guide-price-note a, .guide-usage-note a { color: var(--g-accent); font-weight: 700; text-underline-offset: 2px; }
.guide-trial { display: flex; justify-content: space-between; gap: 5mm; align-items: center; margin-top: 7mm; padding: 4mm 0; border-bottom: 1px solid var(--g-line); }
.guide-trial strong { color: var(--g-ink); font: 600 13pt/1.2 var(--font-serif); }
.guide-trial a { color: var(--g-accent); font-size: 9pt; font-weight: 700; text-decoration: none; }
.guide-price-note { margin: 4mm 0 0; color: var(--g-muted); font-size: 8pt; line-height: 1.5; }

/* Economic value page */
.guide-scenario-label { display: flex; justify-content: space-between; gap: 4mm; margin-top: 9mm; padding-bottom: 2.5mm; border-bottom: 1px solid var(--g-line); color: var(--g-muted); font-size: 8pt; font-weight: 700; }
.guide-scenario-label span:first-child { color: var(--g-accent); letter-spacing: .1em; text-transform: uppercase; }
.guide-scenario { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 5mm 0; border-bottom: 1px solid var(--g-line); }
.guide-scenario > div { display: flex; flex-direction: column; gap: 2mm; padding: 2mm 4mm; border-right: 1px solid var(--g-line); }
.guide-scenario > div:first-child { padding-left: 0; }
.guide-scenario > div:last-child { border-right: 0; }
.guide-scenario strong { color: var(--g-ink); font: 500 22pt/1 var(--font-serif); letter-spacing: -.035em; }
.guide-scenario > div:last-child strong { color: var(--g-accent); }
.guide-scenario span { color: var(--g-muted); font-size: 8.5pt; line-height: 1.45; }
.guide-formula { margin: 3mm 0 0; color: var(--g-muted); font-size: 9pt; line-height: 1.5; }
.guide-formula strong { color: var(--g-ink); }
.guide-break-even-title { margin: 10mm 0 4mm; color: var(--g-ink); font: 600 17pt/1.2 var(--font-serif); }
.guide-break-even { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); }
.guide-break-even > div { display: flex; flex-direction: column; gap: 2mm; padding: 5mm 6mm 5mm 0; }
.guide-break-even > div + div { padding-left: 6mm; border-left: 1px solid var(--g-line); }
.guide-break-even span { color: var(--g-accent); font-size: 8pt; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.guide-break-even strong { color: var(--g-ink); font: 500 18pt/1.2 var(--font-serif); }
.guide-break-even small { color: var(--g-muted); font-size: 9pt; line-height: 1.45; }
.guide-accessible { margin: 9mm 0 0; padding: 5mm 0 5mm 5mm; border-left: 1mm solid var(--g-accent); color: var(--g-muted); font-size: 11pt; line-height: 1.55; }
.guide-accessible strong { color: var(--g-ink); }
.guide-economics-note { max-width: 150mm; margin: 5mm 0 0; color: var(--g-muted); font-size: 8pt; line-height: 1.5; }

/* Usage page */
.guide-usage-table { width: 100%; margin-top: 9mm; border-collapse: collapse; color: var(--g-ink); text-align: left; font-size: 9.5pt; line-height: 1.4; }
.guide-usage-table th, .guide-usage-table td { padding: 3.2mm 3mm; border-bottom: 1px solid var(--g-line); }
.guide-usage-table thead th { color: var(--g-muted); font-size: 7.5pt; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.guide-usage-table thead th:first-child { width: 52%; }
.guide-usage-table tbody th { font-weight: 600; }
.guide-usage-table tbody td { color: var(--g-muted); }
.guide-usage-table tbody td:last-child strong { color: var(--g-accent); }
.guide-usage-table tr:last-child th, .guide-usage-table tr:last-child td { border-bottom: 0; }
.guide-uplift { display: grid; grid-template-columns: auto 1fr auto 1fr; align-items: center; gap: 3mm; margin-top: 9mm; padding: 5mm 0; border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); }
.guide-uplift > span { color: var(--g-accent); font: 500 24pt/1 var(--font-serif); }
.guide-uplift p { margin: 0; color: var(--g-muted); font-size: 8.5pt; line-height: 1.4; }
.guide-uplift strong { color: var(--g-ink); }
.guide-usage-note { max-width: 150mm; margin: 6mm 0 0; color: var(--g-muted); font-size: 9pt; line-height: 1.6; }

/* A4 tool pages: one Business feature per sheet. */
.guide-tool-plan { margin: 6mm 0 -5mm; color: var(--g-accent); font-size: 7pt; font-weight: 800; letter-spacing: .14em; }
.guide-tool-page .guide-page-title { max-width: 165mm; }
.guide-tool-image { margin: 8mm 0 0; padding: 2mm; border: 1px solid var(--g-line); background: var(--g-canvas); }
.guide-tool-image img { width: 100%; max-height: 72mm; object-fit: contain; object-position: center; }
.guide-tool-image figcaption { margin: 2mm .5mm 0; color: var(--g-muted); font-size: 8pt; line-height: 1.45; }
.guide-tool-image-wide img { max-height: 88mm; }
.guide-tool-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5mm; margin-top: 8mm; }
.guide-tool-options article { padding: 3mm 3mm 0 0; border-top: 1px solid var(--g-line); }
.guide-tool-options article > span, .guide-tool-flow article > span, .guide-tool-flow > div > span { color: var(--g-accent); font-size: 7pt; font-weight: 800; letter-spacing: .1em; }
.guide-tool-options h3 { margin: 2mm 0 1mm; color: var(--g-ink); font: 600 13pt/1.2 var(--font-serif); }
.guide-tool-options p { margin: 0; color: var(--g-muted); font-size: 8.5pt; line-height: 1.5; }
.guide-tool-note { margin: 7mm 0 0; padding: 4mm 0 0; border-top: 1px solid var(--g-line); color: var(--g-muted); font-size: 9pt; line-height: 1.55; }
.guide-tool-note strong { color: var(--g-ink); }
.guide-tool-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4mm; margin-top: 8mm; }
.guide-tool-flow > div { display: grid; grid-template-columns: 8mm 1fr; gap: 1mm 2mm; align-content: start; padding: 3mm; border: 1px solid var(--g-line); }
.guide-tool-flow > div > span { grid-row: 1 / span 2; }
.guide-tool-flow strong { color: var(--g-ink); font-size: 8.5pt; line-height: 1.35; }
.guide-tool-flow small { color: var(--g-muted); font-size: 7.5pt; line-height: 1.4; }
.guide-tool-callout { margin-top: 9mm; padding: 5mm; border-left: 1mm solid var(--g-accent); background: color-mix(in srgb, var(--g-accent) 5%, var(--g-paper)); }
.guide-tool-callout blockquote { margin: 2mm 0 0; color: var(--g-ink); font: 500 15pt/1.45 var(--font-serif); }
.guide-tool-benefits { display: flex; align-items: center; justify-content: center; gap: 6mm; margin-top: 8mm; padding: 4mm 0; border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); color: var(--g-ink); font-size: 9pt; font-weight: 700; }
.guide-tool-benefits i { color: var(--g-accent); font-style: normal; }
.guide-investigation { display: grid; gap: 5mm; margin-top: 8mm; }
.guide-investigation-number { color: var(--g-accent); font-size: 7pt; font-weight: 850; letter-spacing: .13em; }
.guide-investigation-question { padding: 4mm 5mm; border-left: 1mm solid var(--g-accent); background: color-mix(in srgb, var(--g-accent) 5%, var(--g-paper)); }
.guide-investigation-question h3 { margin: 1.5mm 0 1mm; color: var(--g-ink); font: 600 14pt/1.2 var(--font-serif); }
.guide-investigation-question p, .guide-investigation-heading p, .guide-map-side p, .guide-investigation-summary p { margin: 0; color: var(--g-muted); font-size: 8.5pt; line-height: 1.5; }
.guide-investigation-sources { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2mm; }
.guide-investigation-sources span { display: flex; min-height: 15mm; align-items: center; justify-content: center; padding: 2mm; border: 1px solid var(--g-line); color: var(--g-ink); font-size: 7.5pt; font-weight: 650; line-height: 1.35; text-align: center; }
.guide-investigation-map { padding: 4mm; border: 1px solid var(--g-line); }
.guide-investigation-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 4mm; margin-bottom: 3mm; }
.guide-map-branches { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3mm; }
.guide-map-side { min-height: 30mm; padding: 3.5mm; border-top: 1mm solid var(--g-accent); background: var(--g-canvas); }
.guide-map-adverse { border-top-color: var(--g-ink); }
.guide-map-side > span { color: var(--g-muted); font-size: 6.5pt; font-weight: 850; letter-spacing: .1em; }
.guide-map-side h3 { margin: 1.5mm 0; color: var(--g-ink); font: 600 11pt/1.2 var(--font-serif); }
.guide-investigation-summary { display: grid; grid-template-columns: 35mm minmax(0,1fr); gap: 2mm 4mm; align-items: start; padding: 4mm 0; border-top: 1px solid var(--g-line); border-bottom: 1px solid var(--g-line); }
.guide-investigation-summary > .guide-investigation-number { grid-row: 1 / span 2; padding-top: 1mm; }
.guide-investigation-summary h3 { margin: 0 0 1mm; color: var(--g-ink); font: 600 12pt/1.25 var(--font-serif); }
.guide-summary-actions { display: flex; flex-wrap: wrap; gap: 2mm; margin-top: 2mm; }
.guide-summary-actions span { padding: 1mm 2mm; border: 1px solid var(--g-line); color: var(--g-muted); font-size: 6.5pt; font-weight: 700; }

/* Final call to action */
.guide-page-cta { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse at 50% 42%, color-mix(in srgb, var(--g-accent) 9%, var(--g-paper)) 0, var(--g-paper) 62%); }
.guide-page-cta::before { position: absolute; z-index: -1; top: 50%; left: 50%; width: 155mm; height: 155mm; border: 1px solid color-mix(in srgb, var(--g-accent) 22%, transparent); border-radius: 50%; content: ""; transform: translate(-50%,-50%); }
.guide-page-cta .guide-page-content { display: flex; width: 100%; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.guide-cta-brand { display: flex; align-items: center; gap: 3mm; margin-top: 28mm; }
.guide-cta-brand img { width: 13mm; height: 13mm; object-fit: contain; }
.guide-cta-brand span { color: var(--g-ink); font: 600 17pt/1 var(--font-serif); }
.guide-cta-title { max-width: 145mm; margin: 12mm 0 0; color: var(--g-ink); font: 500 34pt/1.08 var(--font-serif); letter-spacing: -.045em; text-wrap: balance; }
.guide-cta-title em { color: var(--g-accent); font-style: italic; }
.guide-cta-lead { max-width: 132mm; margin: 5mm auto 0; color: var(--g-muted); font-size: 11pt; line-height: 1.65; }
.guide-cta-price { display: flex; flex-direction: column; gap: 1mm; margin-top: 8mm; }
.guide-cta-price strong { color: var(--g-ink); font: 500 22pt/1.1 var(--font-serif); }
.guide-cta-price span { color: var(--g-muted); font-size: 8pt; }
.guide-cta-actions { display: flex; flex-direction: column; align-items: center; gap: 4mm; margin-top: 7mm; }
.guide-cta-primary { display: inline-flex; align-items: center; gap: 3mm; padding: 4mm 6mm; background: var(--g-ink); color: var(--g-paper); font-size: 10pt; font-weight: 750; text-decoration: none; }
.guide-cta-primary:hover { background: var(--g-accent); }
.guide-cta-secondary { color: var(--g-accent); font-size: 9pt; font-weight: 700; text-underline-offset: 3px; }
.guide-cta-footnote { max-width: 110mm; margin: 12mm auto 0; color: var(--g-muted); font-size: 9pt; line-height: 1.5; }

@media print {
  @page {
    size: 210mm 297mm;
    margin: 0;
  }

  /* Nasconde header, footer e controlli durante l'esportazione PDF */
  #header,
  #footer,
  .guide-page-footer,
  .guide-controls,
  .skip-link {
    display: none !important;
  }

  .guide-body {
    --color-bg: #fff;
    --color-surface: #fff;
    --color-text: #1a1d21;
    --color-primary: #8a5c16;
    --color-border: #d6d9de;
    --color-muted: #5f6672;

    min-width: 0;
    background: #fff !important;
    color: #1a1d21 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .guide-main {
    padding: 0;
    overflow: visible;
  }

  .guide-pages {
    display: block;
    width: auto;
    margin: 0;
    zoom: 1 !important;
  }

  .guide-page {
    width: 210mm;
    height: 297mm;
    min-height: 297mm;
    max-height: 297mm;
    margin: 0;
    padding: 16mm 17mm 12mm;
    overflow: hidden;
    border: 0;
    box-shadow: none;
    break-inside: avoid;
    page-break-inside: avoid;
    break-after: page;
    page-break-after: always;
  }

  .guide-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }

  .guide-cover {
    padding: 16mm 17mm;
  }

  .guide-cover-brand img {
    width: 42mm;
    height: 42mm;
  }

  .guide-cover::before {
    width: 142mm;
    height: 142mm;
  }

  .guide-cover::after {
    width: 174mm;
    height: 174mm;
  }

  .guide-page-cta::before {
    width: 155mm;
    height: 155mm;
  }

  .guide-page-art {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .guide-editorial-image img {
    max-height: 62mm;
  }

  .guide-search-image img {
    max-height: 67mm;
  }

  .guide-client-row,
  .guide-plan,
  .guide-query-example,
  .guide-uplift,
  .guide-scenario,
  .guide-break-even,
  .guide-mcp-diagram,
  .guide-cta-actions {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .guide-usage-table thead {
    display: table-header-group;
  }

  .guide-usage-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  a {
    color: inherit;
  }
}

@media (prefers-reduced-motion: reduce) {
  .guide-body *, .guide-body *::before, .guide-body *::after { transition: none !important; }
}
