/* WFL Resource Experience kit (rx) — experiment/fable-radar-resource
   Una risorsa Radar come viaggio in sette tappe: ogni tappa ha uno strumento
   visivo che spiega un meccanismo, non una decorazione.
   Opt-in: agisce solo dentro .rx / html.rx-doc. Palette, font e token v1.7 invariati.
   Nessuna dipendenza. Senza JS tutto il contenuto resta visibile e leggibile. */

html.rx-doc{scroll-padding-top:152px}
.rx{
  --rx-night:#0b1a26;--rx-night-2:#102d3d;--rx-cyan:#8fe1ee;--rx-teal:#155f73;--rx-deep:#174b60;
  --rx-paper:#f2f3ef;--rx-tint:#e6efed;--rx-cool:#dfeceb;--rx-line:#b7cbcd;--rx-quiet:#3d5766;
  --rx-ease:cubic-bezier(.2,.7,.15,1);
  display:block;overflow-x:clip;
}
.rx-wrap{max-width:1180px;margin:0 auto;padding:0 max(1.5rem,5vw)}
.rx :where(h2,h3,h4,p,details){margin:0}
.rx details{font-size:inherit}
.rx details p{max-width:none}
.rx a{text-underline-offset:4px}
.rx-overline{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rx-teal)}

/* ── Apertura ─────────────────────────────────────────────────────────── */
.rx-hero{
  position:relative;isolation:isolate;color:#f1f9fa;
  background:
    radial-gradient(900px 520px at 82% 38%,rgba(143,225,238,.13),transparent 68%),
    linear-gradient(180deg,#0b1a26 0%,#0e2634 100%);
  padding:calc(92px + 1.4rem) 0 clamp(48px,6vw,84px);
}
.rx-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--rx-cyan),transparent 70%)}
.rx-crumb{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.86rem;color:#a9c3cb}
.rx-crumb a{color:#cfe3e8;text-decoration:underline;text-decoration-color:rgba(207,227,232,.4)}
.rx-crumb a:hover{color:#fff}
.rx-hero a:focus-visible{outline-color:var(--rx-cyan)}
.rx-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(32px,6vw,88px);align-items:center;margin-top:clamp(36px,5vw,68px)}
.rx-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;color:#a0e6ec;margin-bottom:26px}
.rx-hero h1{font-size:clamp(38px,5vw,72px);font-weight:650;line-height:1.03;letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance}
.rx-hero h1 .rx-accent{color:var(--rx-cyan)}
.rx-lead{max-width:58ch;color:#d5e8ec;font-size:clamp(17px,1.5vw,20px);line-height:1.68;margin:0 0 30px}
.rx-meta{display:flex;flex-wrap:wrap;gap:10px 12px}
.rx-meta span{font-size:12px;color:#c2dce1;padding:7px 11px;border:1px solid rgba(178,224,230,.28)}
.rx-hero-aside{margin:clamp(34px,4vw,56px) 0 0;padding-left:14px;border-left:2px solid var(--rx-cyan);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#d6eef0}
.rx-hero-aside strong{color:var(--rx-cyan)}

/* 100 posizioni, 13 senza conducente */
.rx-seats{margin:0}
.rx-seats-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:clamp(4px,.6vw,8px);max-width:400px}
.rx-seats-grid i{display:block;aspect-ratio:1;border-radius:2px;background:rgba(214,238,240,.16);transition:background .5s var(--rx-ease),box-shadow .5s var(--rx-ease),transform .5s var(--rx-ease)}
.rx-seats-grid i.v{background:var(--rx-cyan);box-shadow:0 0 0 1px rgba(143,225,238,.5),0 0 18px rgba(143,225,238,.55)}
.js.motion-ok .rx-seats.is-armed:not(.is-live) .rx-seats-grid i.v{background:rgba(214,238,240,.16);box-shadow:none;transform:scale(.82)}
.rx-seats.is-live .rx-seats-grid i.v{transition-delay:calc(var(--i,0) * 90ms + 300ms)}
.rx-seats figcaption{margin-top:20px;max-width:400px;display:grid;gap:8px}
.rx-seats figcaption strong{font-size:clamp(26px,2.6vw,36px);font-weight:650;letter-spacing:-.03em;line-height:1.1;color:#fff}
.rx-seats-n{color:var(--rx-cyan)}
.rx-seats figcaption span:not(.rx-seats-n){font-size:13.5px;line-height:1.6;color:#bcd6dc}

/* ── La rotta: sette tappe ────────────────────────────────────────────── */
.rx-route{display:block;position:sticky;top:92px;z-index:15;background:rgba(242,243,239,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rx-line);font-size:12.5px}
.rx-route .rx-wrap{display:flex;align-items:center;gap:22px}
.rx-route-label{flex:none;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#23667b}
.rx-route ol{flex:1;display:flex;list-style:none;margin:0;padding:0;min-width:0;overflow-x:auto;scrollbar-width:none}
.rx-route ol::-webkit-scrollbar{display:none}
.rx-route li{flex:1 0 auto;position:relative}
.rx-route li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#cfdcdb;transition:background .3s}
.rx-route a{display:flex;align-items:center;gap:8px;padding:13px 14px 12px 0;color:#48626f;font-weight:600;white-space:nowrap;border:0}
.rx-route a b{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#6c8791;font-variant-numeric:tabular-nums}
.rx-route a:hover{color:var(--ink)}
.rx-route a:focus-visible{outline-offset:-3px}
.rx-route li.is-done::before{background:var(--rx-teal)}
.rx-route li.is-here::before{background:var(--rx-teal);height:3px}
.rx-route li.is-here a{color:#0d2f3d}
.rx-route li.is-here a b{color:var(--rx-teal)}

.rx .wfl-domain-band{margin:26px 0 0}

/* ── Tappe ────────────────────────────────────────────────────────────── */
.rx-stop{padding:clamp(60px,7.4vw,104px) 0;position:relative}
.rx-stop--paper{background:var(--rx-paper)}
.rx-stop--tint{background:linear-gradient(180deg,var(--rx-paper) 0,var(--rx-tint) 220px)}
.rx-stop-head{display:flex;align-items:flex-end;gap:clamp(16px,2.5vw,34px);margin-bottom:clamp(26px,3.4vw,44px)}
.rx-num{flex:none;font-size:clamp(64px,9.5vw,136px);font-weight:700;line-height:.82;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px #7fa6b0;font-variant-numeric:tabular-nums}
@supports not (-webkit-text-stroke:1px #000){.rx-num{color:#b9cfd3}}
.rx-stop-head h2{font-size:clamp(31px,4.4vw,58px);font-weight:650;line-height:1.06;letter-spacing:-.04em;margin-top:10px;max-width:22ch;text-wrap:balance}
.rx-intro{max-width:66ch;font-size:clamp(17px,1.65vw,21px);line-height:1.78;color:#2f4856}
.rx-intro strong{color:#0f3344}
.rx-explain{max-width:70ch;font-size:16.5px;line-height:1.85;color:#344c59;margin:24px 0 0}
.rx-explain strong{color:#153c4d}
.rx-note{max-width:74ch;font-size:13.5px;line-height:1.7;color:#48606c;margin:22px 0 0;padding-left:14px;border-left:2px solid var(--rx-line)}
.rx-source{max-width:80ch;font-size:13px;line-height:1.7;color:#48606c;margin:18px 0 0}
.rx-source a,.rx-note a,.rx-sources a{color:var(--rx-teal);text-decoration:underline}

/* 01 · numeri */
.rx-facts{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0;margin-top:clamp(34px,4vw,54px);border-top:2px solid var(--ink)}
.rx-fact{padding:clamp(22px,3vw,38px) clamp(0px,2.6vw,36px) clamp(22px,3vw,34px) 0}
.rx-fact+.rx-fact{padding-left:clamp(20px,3vw,40px);border-left:1px solid var(--rx-line)}
.rx-fact small{display:block;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--rx-teal)}
.rx-figure{display:block;font-weight:700;letter-spacing:-.055em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink);margin:14px 0 16px;font-size:clamp(48px,6.4vw,88px)}
.rx-fact--lead .rx-figure{font-size:clamp(60px,10.4vw,146px);color:#0f3a4b}
.rx-fact p{max-width:44ch;font-size:15px;line-height:1.65;color:#3b5361}
.rx-bar{height:10px;background:#d5e2e1;margin:0 0 16px;position:relative}
.rx-bar i{position:absolute;inset:0 87% 0 0;background:var(--rx-teal);transform-origin:left;transition:transform 1.1s var(--rx-ease) .2s}
.js.motion-ok .reveal:not(.seen) .rx-bar i{transform:scaleX(0)}
.rx-thirds{display:flex;align-items:center;gap:7px;margin-top:16px;font-size:12px;font-weight:600;color:#35525f}
.rx-thirds i{width:22px;height:22px;border-radius:50%;border:2px solid var(--rx-teal)}
.rx-thirds i.on{background:var(--rx-teal)}
.rx-thirds span{margin-left:6px}

.rx-chain{margin-top:clamp(48px,6vw,80px)}
.rx-chain-lead{max-width:30ch;font-size:clamp(24px,3vw,40px);line-height:1.22;letter-spacing:-.028em;font-weight:400;color:#2a4553}
.rx-chain-lead strong{font-weight:650;color:var(--ink)}
.rx-chain-flow{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:clamp(28px,3.4vw,44px) 0 0;padding:0}
.rx-chain-flow li{position:relative;padding:18px 26px 18px 0;border-top:3px solid #9bbac0}
.rx-chain-flow li.is-origin{border-top-color:var(--ink)}
.rx-chain-flow li:not(:last-child)::after{content:"";position:absolute;right:12px;top:-8px;width:10px;height:10px;border-top:3px solid #9bbac0;border-right:3px solid #9bbac0;transform:rotate(45deg);background:transparent}
.rx-chain-flow span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4d6c78}
.rx-chain-flow b{display:block;margin-top:6px;font-size:clamp(16px,1.5vw,19px);font-weight:650;line-height:1.25}
.js.motion-ok .rx-chain.reveal .rx-chain-flow li{opacity:0;transform:translateX(-14px);transition:opacity .6s var(--rx-ease),transform .6s var(--rx-ease);transition-delay:calc(var(--i,0) * 160ms + 250ms)}
.js.motion-ok .rx-chain.reveal.seen .rx-chain-flow li{opacity:1;transform:none}
.rx-chain-flow li:nth-child(2){--i:1}.rx-chain-flow li:nth-child(3){--i:2}.rx-chain-flow li:nth-child(4){--i:3}

/* 02 · cambio di domanda */
.rx-shift{position:relative;margin:clamp(40px,5vw,70px) 0;min-height:clamp(380px,44vw,540px);display:flex;align-items:center;background:#0c2534;color:#f0f9f9;overflow:hidden}
.rx-shift img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.rx-shift::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,30,43,.95) 0%,rgba(9,30,43,.78) 42%,rgba(9,30,43,.12) 100%)}
.rx-shift figcaption{position:relative;z-index:1;width:100%;padding-top:48px;padding-bottom:48px}
.rx-shift .rx-overline{color:#99e4ea;margin-bottom:22px}
.rx-shift-from{font-size:clamp(19px,2.2vw,28px);line-height:1.25;color:#a9c4cc;text-decoration:line-through;text-decoration-color:rgba(143,225,238,.75);text-decoration-thickness:2px}
.rx-shift-to{font-size:clamp(36px,5.6vw,80px);font-weight:650;line-height:1.02;letter-spacing:-.045em;margin-top:12px!important;max-width:13ch;color:#fff}
.rx-shift-note{max-width:50ch;font-size:15.5px;line-height:1.7;color:#d5e6ea;margin-top:24px!important}
.rx-takeaway{margin-bottom:26px;max-width:28ch;font-size:clamp(23px,2.8vw,36px);line-height:1.24;letter-spacing:-.025em;font-weight:650;color:#0f3344;padding-left:22px;border-left:4px solid var(--rx-teal)}

/* Simulatore concettuale di consolidamento */
.rx-sim{margin-top:clamp(34px,4vw,54px);background:#f8faf8;border:1px solid var(--rx-line);border-top:3px solid var(--rx-teal);padding:clamp(20px,3vw,38px)}
.rx-sim-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 20px;margin-bottom:24px}
.rx-sim-head strong{font-size:clamp(18px,1.8vw,22px);color:#173a4b}
.rx-sim-head span{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:#3f6a79}
.rx-sim-body{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(22px,3.4vw,48px);align-items:center}
.rx-sim-hint{font-size:14px;line-height:1.6;color:#3e5866;margin-bottom:18px!important}
html:not(.js) .rx-sim-controls{display:none}
html:not(.js) .rx-sim-body{grid-template-columns:1fr}
.rx-switch{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;cursor:pointer;font-size:15px;font-weight:650;line-height:1.35;color:#123847;padding:14px 16px;background:#e6efed;border:1px solid #a9c4c8}
.rx-switch input{position:absolute;opacity:0;width:1px;height:1px}
.rx-switch-track{width:46px;height:26px;border-radius:13px;background:#8fa5ad;position:relative;transition:background .25s}
.rx-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s var(--rx-ease)}
.rx-switch input:checked+.rx-switch-track{background:var(--rx-teal)}
.rx-switch input:checked+.rx-switch-track::after{transform:translateX(20px)}
.rx-switch input:focus-visible+.rx-switch-track{outline:3px solid var(--rx-teal);outline-offset:3px}
.rx-sim-constraints{border:0;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rx-sim-constraints legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#3f6170}
.rx-sim-constraints label{position:relative;cursor:pointer}
.rx-sim-constraints input{position:absolute;opacity:0;width:1px;height:1px}
.rx-sim-constraints span{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px;border:1px solid #a9c4c8;background:#fff;font-size:13.5px;font-weight:600;color:#7a3d1c}
.rx-sim-constraints span::before{content:"✕";font-size:11px;font-weight:800}
.rx-sim-constraints input:checked+span{color:#12495a}
.rx-sim-constraints input:checked+span::before{content:"✓"}
.rx-sim-constraints input:not(:checked)+span{border-style:dashed;border-color:#b0714a;background:#fbf3ee}
.rx-sim-constraints input:focus-visible+span{outline:3px solid var(--rx-teal);outline-offset:2px}

.rx-sim-stage{display:grid;gap:18px}
.rx-lane{display:grid;grid-template-columns:118px 1fr;gap:16px;align-items:end;padding:14px 0 16px;border-bottom:2px dashed #b9cdd0}
.rx-order{display:grid;grid-template-columns:repeat(3,18px);gap:4px;font-size:11px;color:#3d5a67}
.rx-order span{grid-column:1/-1;font-weight:700;letter-spacing:.05em;font-size:12px;color:#173a4b}
.rx-order em{grid-column:1/-1;font-style:normal}
.rx-order i{height:18px;border-radius:1px}
.rx-order--a i,.rx-trailer i.a{background:#1b6b80}
.rx-order--b i,.rx-trailer i.b{background:#7fcbd8}
.rx-truck{display:grid;grid-template-columns:1fr 34px;align-items:end;gap:3px;position:relative;padding-bottom:20px;transition:opacity .5s var(--rx-ease)}
.rx-trailer{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:6px;border:2px solid #24566a;background:#fff;height:54px;position:relative}
.rx-trailer i{border-radius:1px;transition:opacity .45s var(--rx-ease),transform .55s var(--rx-ease)}
.rx-trailer i:not(.a):not(.b){border:1px dashed #b5c9cc}
.rx-cab{height:38px;border:2px solid #24566a;border-radius:2px 9px 2px 2px;background:linear-gradient(180deg,#d8eef2 0 44%,#fff 44%)}
.rx-truck::before,.rx-truck::after{content:"";position:absolute;bottom:13px;width:14px;height:14px;border-radius:50%;background:#24566a;box-shadow:0 0 0 3px #f8faf8}
.rx-truck::before{left:14%}.rx-truck::after{right:8px}
.rx-truck-tag{position:absolute;left:0;bottom:-6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#3f6170}
.rx-truck-tag .t-mer{display:none}
/* stato: partenze separate */
.rx-trailer i.b.in{opacity:0;transform:translateY(34px)}
/* stato: opportunità di consolidamento */
.rx-sim[data-state="merged"] .rx-trailer i.b.in{opacity:1;transform:none}
.rx-sim[data-state="merged"] .rx-trailer i.b.out{opacity:0;transform:translateY(-34px)}
.rx-sim[data-state="merged"] .rx-truck--2{opacity:.42}
.rx-sim[data-state="merged"] .rx-truck--2 .rx-trailer,.rx-sim[data-state="merged"] .rx-truck--2 .rx-cab{border-style:dashed}
.rx-sim[data-state="merged"] .rx-truck-tag .t-sep{display:none}
.rx-sim[data-state="merged"] .rx-truck-tag .t-mer{display:inline}
.rx-sim-out{margin-top:24px!important;padding:16px 18px;background:#e6efed;border-left:4px solid #6c9eaa;font-size:15.5px;line-height:1.6;font-weight:600;color:#143b4b;min-height:4.2em}
.rx-sim[data-state="merged"] .rx-sim-out{border-left-color:var(--rx-teal);background:#d9eeee}
.rx-sim[data-state="blocked"] .rx-sim-out{border-left-color:#b0714a;background:#f6ece5}
.rx-sim-foot{margin-top:14px!important;font-size:13px;line-height:1.6;color:#48606c}

.rx-domains{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(40px,5vw,64px);border-top:2px solid var(--ink)}
.rx-domains article{padding:22px 24px 6px 0}
.rx-domains article+article{padding-left:24px;border-left:1px solid var(--rx-line)}
.rx-domains h3{font-size:clamp(19px,1.9vw,24px);font-weight:650;letter-spacing:-.02em;margin:10px 0 8px}
.rx-domains p{font-size:15px;line-height:1.6;color:#3b5361}

/* 03 · AI Lens (notte) */
.rx-stop--night{background:linear-gradient(180deg,#0b1a26,#0f2a39);color:#eaf5f6}
.rx-stop--night .rx-overline{color:#99e4ea}
.rx-stop--night .rx-num{-webkit-text-stroke-color:rgba(143,225,238,.55)}
.rx-stop--night .rx-intro{color:#cfe2e7}
.rx-stop--night .rx-intro strong{color:#fff}
.rx-stop--night a:focus-visible{outline-color:var(--rx-cyan)}
.rx-lens{margin-top:clamp(40px,5vw,70px);border-top:1px solid rgba(160,214,222,.3)}
.rx-lens-row{display:grid;grid-template-columns:minmax(150px,.3fr) minmax(0,1fr);gap:clamp(18px,4vw,60px);padding:clamp(26px,3.4vw,44px) 0;border-bottom:1px solid rgba(160,214,222,.3)}
.rx-lens-word{font-size:clamp(34px,5vw,72px);font-weight:650;line-height:.95;letter-spacing:-.045em;color:var(--rx-cyan)}
.rx-lens-row h3{font-size:clamp(20px,2.1vw,27px);font-weight:650;letter-spacing:-.02em;color:#fff}
.rx-lens-row h3+p{max-width:60ch;margin-top:10px;font-size:16.5px;line-height:1.7;color:#c9dde2}
.rx-flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px;padding-top:22px}
.rx-flow::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:rgba(160,214,222,.35)}
.rx-flow-pulse{position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--rx-cyan);box-shadow:0 0 14px var(--rx-cyan);display:none}
.js.motion-ok .rx-flow-pulse{display:block;animation:rx-pulse 7s linear infinite}
@keyframes rx-pulse{0%{left:0;opacity:0}6%{opacity:1}92%{opacity:1}100%{left:calc(100% - 12px);opacity:0}}
.rx-flow-node{position:relative;padding:18px 16px 16px;background:rgba(255,255,255,.045);border:1px solid rgba(160,214,222,.3);display:flex;flex-direction:column;gap:8px;min-height:150px}
.rx-flow-node::before{content:"";position:absolute;top:-22px;left:16px;width:2px;height:22px;background:rgba(160,214,222,.35)}
.rx-flow-node span{font-size:10.5px;font-weight:700;letter-spacing:.12em;color:#a7c9d1}
.rx-flow-node strong{font-size:clamp(16px,1.5vw,19px);font-weight:650;line-height:1.25;color:#fff}
.rx-flow-node em{margin-top:auto;font-style:normal;font-size:12.5px;color:#b9d3d9}
.rx-flow-node.is-ai{background:rgba(143,225,238,.16);border-color:var(--rx-cyan)}
.rx-flow-node.is-ai span,.rx-flow-node.is-ai em{color:var(--rx-cyan)}
.rx-flow-node.is-or{border-style:dashed}
.rx-flow-node.is-human{background:#f2f3ef;border-color:#f2f3ef}
.rx-flow-node.is-human span{color:#155f73}.rx-flow-node.is-human strong{color:#0d1c29}.rx-flow-node.is-human em{color:#3d5766}
.rx-caution{max-width:70ch;margin-top:20px!important;font-size:13.5px;line-height:1.7;color:#b6d0d6;padding-left:14px;border-left:2px solid rgba(143,225,238,.5)}

/* 04 · macro → micro */
.rx-human{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0;margin:clamp(34px,4.4vw,60px) 0 0;background:var(--rx-night-2);color:#eaf5f6}
.rx-human-img{position:relative;min-height:320px}
.rx-human-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.rx-human-img small{position:absolute;left:10px;bottom:8px;font-size:10px;color:#e3eef0;background:rgba(9,25,35,.62);padding:3px 7px}
.rx-human figcaption{padding:clamp(26px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.rx-human .rx-overline{color:#99e4ea}
.rx-human strong{display:block;margin-top:14px;font-size:clamp(24px,2.9vw,38px);font-weight:650;line-height:1.14;letter-spacing:-.03em}
.rx-human p{margin-top:16px;font-size:15.5px;line-height:1.72;color:#cfe2e7}
.rx-zoom-scale{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(22px,4vw,56px);margin-top:clamp(44px,5.4vw,76px);font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--rx-teal);position:relative}
.rx-zoom-scale i{position:absolute;left:0;right:0;bottom:-12px;height:2px;background:linear-gradient(90deg,var(--ink),var(--rx-teal))}
.rx-zoom{list-style:none;margin:12px 0 0;padding:0}
.rx-zoom>li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(22px,4vw,56px);padding:clamp(24px,3vw,38px) 0;border-bottom:1px solid var(--rx-line)}
.rx-zoom-n{display:block;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--rx-teal);font-variant-numeric:tabular-nums}
.rx-zoom-macro h3{font-size:clamp(25px,3vw,40px);font-weight:650;letter-spacing:-.035em;line-height:1.08;margin:10px 0 14px}
.rx-zoom-macro p{font-size:16px;line-height:1.78;color:#344c59;max-width:48ch}
.rx-zoom-micro{display:grid;gap:10px;align-content:start}
.rx-zoom-measure{font-size:14px;line-height:1.6;color:#2b4755;margin-bottom:4px!important}
.rx-metric{background:#fff;border:1px solid var(--rx-line);transition:border-color .2s,box-shadow .2s}
.rx-metric summary{display:grid;grid-template-columns:64px 1fr 22px;gap:16px;align-items:center;padding:12px 16px;cursor:pointer;list-style:none;font-size:16px;font-weight:650;color:#123847;min-height:60px}
.rx-metric summary::-webkit-details-marker{display:none}
.rx-metric summary::after{content:"+";font-size:22px;font-weight:400;line-height:1;color:var(--rx-teal);text-align:center;transition:transform .25s var(--rx-ease)}
.rx-metric[open] summary::after{transform:rotate(45deg)}
.rx-metric summary:hover,.rx-metric[open]{border-color:var(--rx-teal)}
.rx-metric:hover{border-color:var(--rx-teal);box-shadow:0 8px 22px rgba(15,44,58,.07)}
.rx-metric summary:focus-visible{outline-offset:-3px}
.rx-metric svg{width:64px;height:36px;display:block}
.rx-metric svg .s{fill:none;stroke:#24566a;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rx-metric svg .s.dash{stroke-dasharray:3 3;stroke:#6f97a2}
.rx-metric svg .f{fill:#1b6b80}
.rx-metric svg .d{fill:none;stroke:#8aaab2;stroke-width:1.2;stroke-dasharray:2.5 2.5}
.rx-metric>p{padding:0 16px 16px 96px;font-size:14.5px;line-height:1.68;color:#344c59}

/* 05 · Reflection Lab */
.rx-stop--lab{background:var(--rx-cool);border-top:1px solid #bdd3d3;border-bottom:1px solid #bdd3d3}
.rx-lab{margin-top:clamp(30px,4vw,52px);display:grid;gap:clamp(26px,3.4vw,44px)}
.rx-lab fieldset{border:0;margin:0;padding:0;min-width:0}
.rx-lab legend{padding:0;font-size:clamp(24px,3vw,38px);font-weight:650;line-height:1.14;letter-spacing:-.03em;color:var(--ink);margin-bottom:20px}
.rx-q-cap{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--rx-teal);margin-bottom:10px}
.rx-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rx-answer{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;padding:16px 20px;background:#f7faf8;border:1px solid #a9c4c8;cursor:pointer;font-size:16px;font-weight:600;line-height:1.4;color:#173a4b;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s var(--rx-ease)}
.rx-answer:hover{border-color:var(--rx-teal);transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,44,58,.08)}
.rx-answer input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--rx-teal)}
.rx-answer:has(input:checked){background:var(--rx-night-2);border-color:var(--rx-night-2);color:#fff;box-shadow:inset 0 -4px 0 var(--rx-cyan)}
.rx-answer:has(input:checked) input{accent-color:var(--rx-cyan)}
.rx-answer:has(input:focus-visible){outline:3px solid var(--rx-teal);outline-offset:3px}
.rx-answer--open{border-style:dashed}
.rx-lab-status{font-size:14px;line-height:1.6;color:#35525f}
.rx-feedback{background:#f7faf8;border-left:4px solid var(--rx-teal);padding:clamp(20px,3vw,34px)}
.rx-feedback[hidden]{display:none}
.rx-feedback h3{font-size:clamp(19px,2vw,24px);font-weight:650;letter-spacing:-.02em;margin-bottom:14px}
.rx-feedback p{max-width:72ch;font-size:16px;line-height:1.75;color:#2f4856}
.rx-feedback p+p{margin-top:12px}
.js.motion-ok .rx-feedback:not([hidden]){animation:rx-rise .5s var(--rx-ease) both}
@keyframes rx-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rx-lab-skip{justify-self:start;font-size:15px;font-weight:650;color:var(--rx-deep);text-decoration:underline}
.rx-lab-skip:hover{color:var(--ink)}

/* 06 · Scoperta: l'orizzonte */
.rx-stop--discovery{padding:0 0 clamp(60px,7.4vw,104px);background:var(--rx-paper)}
.rx-discovery-open{background:linear-gradient(180deg,#0b1a26,#102d3d);color:#eaf5f6;padding:clamp(60px,7.4vw,104px) 0 0}
.rx-discovery-open .rx-overline{color:#99e4ea}
.rx-discovery-open .rx-num{-webkit-text-stroke-color:rgba(143,225,238,.55)}
.rx-discovery-open .rx-intro{color:#cfe2e7}
.rx-discovery-open a:focus-visible{outline-color:var(--rx-cyan)}
.rx-horizon-axis{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(40px,5vw,66px);position:relative}
.rx-horizon-axis a{position:relative;display:block;padding:30px 24px 0 0;color:#eaf5f6;border:0}
.rx-horizon-axis a::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--rx-cyan)}
.rx-horizon-axis a.k-announced::before{background:repeating-linear-gradient(90deg,var(--rx-cyan) 0 14px,transparent 14px 22px)}
.rx-horizon-axis a.k-research::before{background:repeating-linear-gradient(90deg,rgba(143,225,238,.8) 0 3px,transparent 3px 10px)}
.rx-horizon-axis i,.rx-legend i{display:block;width:20px;height:20px;border-radius:50%;box-sizing:border-box}
.rx-horizon-axis i{position:absolute;left:0;top:0;background:#0d2230}
.k-now>i{background:var(--rx-cyan)!important;box-shadow:0 0 16px rgba(143,225,238,.7)}
.k-announced>i{border:3px solid var(--rx-cyan);background:linear-gradient(90deg,var(--rx-cyan) 50%,#0d2230 50%)!important}
.k-research>i{border:3px dotted var(--rx-cyan)}
.rx-horizon-axis strong{display:block;font-size:clamp(34px,4.6vw,64px);font-weight:650;letter-spacing:-.045em;line-height:1}
.rx-horizon-axis a.k-announced strong{opacity:.88}.rx-horizon-axis a.k-research strong{opacity:.7}
.rx-horizon-axis span{display:block;max-width:26ch;margin-top:10px;font-size:14px;line-height:1.55;color:#c2d9df}
.rx-horizon-axis a:hover strong{color:var(--rx-cyan)}
.rx-legend{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin:clamp(30px,4vw,48px) 0 0;padding:18px 0 22px;border-top:1px solid rgba(160,214,222,.3);font-size:12.5px;color:#c2d9df}
.rx-legend li{display:flex;align-items:center;gap:9px}
.rx-legend i{width:14px;height:14px;flex:none}
.rx-legend .k-announced>i,.rx-legend .k-research>i{border-width:2px}

.rx-horizon{display:grid;grid-template-columns:1fr 2fr;gap:0;margin-top:clamp(36px,4.4vw,58px)}
.rx-h-future{padding-left:clamp(18px,2.4vw,32px);border-left:1px solid var(--rx-line)}
.rx-horizon>.rx-h-col{padding-right:clamp(18px,2.4vw,32px)}
.rx-h-title{font-size:clamp(19px,2vw,25px);font-weight:650;letter-spacing:-.02em;margin-bottom:18px!important}
.rx-h-future .rx-explain{margin:0 0 22px;font-size:15.5px;line-height:1.75}
.rx-h-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,32px);align-items:start}
.rx-h-col{display:grid;gap:16px;align-content:start;scroll-margin-top:160px}
.rx-card{position:relative;background:#fff;border:1px solid var(--rx-line);border-top:3px solid var(--rx-teal);padding:22px 22px 20px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .3s,border-color .3s}
.k-announced .rx-card{border-style:dashed;border-top-style:dashed;border-color:#6f9faa;background:#f8faf8}
.k-research .rx-card{border-style:dotted;border-width:2px;border-top-width:3px;border-color:#8eb2ba;background:transparent}
.rx-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.rx-chip{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.09em;padding:5px 9px;background:#dcebea;color:#12495a}
.k-now .rx-chip{background:var(--rx-teal);color:#fff}
.rx-kicker{font-size:11.5px;font-weight:700;letter-spacing:.04em;color:#3f6170}
.rx-card h4{font-size:clamp(18px,1.7vw,21px);font-weight:650;line-height:1.22;letter-spacing:-.02em}
.rx-card p{font-size:14.5px;line-height:1.68;color:#344c59}
.rx-card small{font-size:12.5px;line-height:1.55;color:#48606c}
.rx-link{display:inline-block;padding:5px 0;font-size:13.5px;font-weight:650;color:var(--rx-teal);text-decoration:underline}
.rx-deep{align-self:flex-start;display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;background:var(--rx-night-2);color:#fff;font-size:13.5px;font-weight:650;transition:background .2s}
.rx-deep:hover{background:var(--rx-teal)}
.rx-horizon .rx-note{margin-top:4px}
/* eco della riflessione: nessun dato salvato, solo un richiamo visivo */
[data-rx-echo].is-echo{border-color:var(--rx-teal);box-shadow:0 0 0 3px rgba(143,225,238,.6),0 14px 30px rgba(15,44,58,.1)}
.rx-echo-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.06em;color:#0d3b4a;background:var(--rx-cyan);padding:4px 9px}
p[data-rx-echo].is-echo{padding:14px;border:1px solid var(--rx-teal);background:#fff}
p[data-rx-echo] .rx-echo-tag{display:table;margin-bottom:8px}

/* 07 · chiusura */
.rx-stop--close{background:linear-gradient(180deg,#0f2a39,#0b1a26);color:#eaf5f6}
.rx-stop--close .rx-overline{color:#99e4ea}
.rx-stop--close .rx-num{-webkit-text-stroke-color:rgba(143,225,238,.55)}
.rx-closing strong{display:block;max-width:30ch;font-size:clamp(24px,3.3vw,44px);font-weight:400;line-height:1.2;letter-spacing:-.028em;color:#dff1f3;padding-left:clamp(16px,2vw,26px);border-left:4px solid var(--rx-cyan)}
.rx-closing p{max-width:62ch;margin-top:26px;font-size:clamp(16.5px,1.5vw,19px);line-height:1.78;color:#cfe2e7}
.rx-motto{margin-top:clamp(44px,6vw,80px)!important;padding-top:22px;border-top:1px solid rgba(160,214,222,.3);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#d6eef0}
.rx-motto span{color:var(--rx-cyan)}

.rx-sources{padding:34px 0 10px}
.rx-sources summary{cursor:pointer;font-size:15px;font-weight:650;color:#173a4b;padding:10px 0}
.rx-sources ul{margin:12px 0 0;padding-left:20px;font-size:14.5px;line-height:1.8;color:#3b5361}
.rx-footer{display:block;padding:0;border-top:1px solid var(--line)}
.rx-footer .rx-wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:2rem;padding-bottom:2rem}
.rx-footer p{font-size:.85rem;max-width:none}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width:980px){
  .rx-horizon{grid-template-columns:1fr}
  .rx-h-future{padding-left:0;border-left:0;margin-top:34px;padding-top:30px;border-top:1px solid var(--rx-line)}
  .rx-horizon>.rx-h-col{padding-right:0}
  .rx-sim-body{grid-template-columns:1fr}
}
@media (max-width:800px){
  html.rx-doc{scroll-padding-top:132px}
  .rx-hero{padding-top:calc(80px + 1.1rem)}
  .rx-crumb{display:flex}
  .rx-route{top:80px}
  .rx-route-label{display:none}
  .rx-route a{padding-right:12px}
  .rx-route li:not(.is-here) a span{display:none}
  .rx-route li:not(.is-here){flex:1 0 34px}
  html:not(.js) .rx-route li a span{display:inline}
  .rx-hero-grid{grid-template-columns:1fr}
  .rx-seats{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:20px;align-items:center}
  .rx-seats figcaption{margin-top:0}
  .rx-facts{grid-template-columns:1fr}
  .rx-fact+.rx-fact{padding-left:0;border-left:0;border-top:1px solid var(--rx-line)}
  .rx-chain-flow{grid-template-columns:1fr}
  .rx-chain-flow li{padding:14px 0 14px 18px;border-top:0;border-left:3px solid #9bbac0}
  .rx-chain-flow li.is-origin{border-left-color:var(--ink)}
  .rx-chain-flow li:not(:last-child)::after{right:auto;left:-8px;top:auto;bottom:-5px;transform:rotate(135deg)}
  .rx-shift::after{background:linear-gradient(180deg,rgba(9,30,43,.9),rgba(9,30,43,.72))}
  .rx-domains{grid-template-columns:1fr}
  .rx-domains article+article{padding-left:0;border-left:0;border-top:1px solid var(--rx-line)}
  .rx-domains article{padding:20px 0 18px}
  .rx-lens-row{grid-template-columns:1fr;gap:12px}
  .rx-flow{grid-template-columns:1fr;padding-top:0;padding-left:22px;gap:10px}
  .rx-flow::before{left:5px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .rx-flow-node{min-height:0}
  .rx-flow-node::before{top:26px;left:-17px;width:17px;height:2px}
  .js.motion-ok .rx-flow-pulse{animation-name:rx-pulse-v}
  .rx-human{grid-template-columns:1fr}
  .rx-human-img{min-height:240px}
  .rx-zoom-scale{display:none}
  .rx-zoom{margin-top:clamp(34px,5vw,50px);border-top:2px solid var(--ink)}
  .rx-zoom>li{grid-template-columns:1fr}
  .rx-metric>p{padding-left:16px}
  .rx-answers{grid-template-columns:1fr}
  .rx-horizon-axis{grid-template-columns:1fr;gap:0;padding-left:0}
  .rx-horizon-axis a{padding:0 0 26px 38px;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline}
  .rx-horizon-axis a::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .rx-horizon-axis a.k-announced::before{background:repeating-linear-gradient(180deg,var(--rx-cyan) 0 10px,transparent 10px 16px)}
  .rx-horizon-axis a.k-research::before{background:repeating-linear-gradient(180deg,rgba(143,225,238,.8) 0 3px,transparent 3px 9px)}
  .rx-horizon-axis i{top:6px}
  .rx-horizon-axis strong{font-size:34px}
  .rx-horizon-axis span{margin-top:0;max-width:none}
  .rx-h-cols{grid-template-columns:1fr}
}
@keyframes rx-pulse-v{0%{top:0;opacity:0}6%{opacity:1}92%{opacity:1}100%{top:calc(100% - 12px);opacity:0}}
@media (max-width:480px){
  .rx-lane{grid-template-columns:86px 1fr;gap:10px}
  .rx-order{grid-template-columns:repeat(3,14px)}
  .rx-order i{height:14px}
  .rx-metric summary{grid-template-columns:52px 1fr 20px;gap:12px}
  .rx-metric svg{width:52px}
}

/* ── Movimento ridotto ────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .rx *,.rx *::before,.rx *::after{animation:none!important;transition:none!important}
  .rx-flow-pulse{display:none!important}
}
@media print{.rx-route,.wfl-radar-shortcut{display:none}}
