/* /premi — own identity inside slradar: passport-red header, waving flag behind the page,
   Bricolage Grotesque (display) + Instrument Sans (text) instead of IBM Plex. Fonts: SIL OFL 1.1, see fonts/OFL-*.txt */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/BricolageGrotesque-600-latin.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/static/fonts/InstrumentSans-var-latin.woff2) format('woff2')}

.pr{--pr-red:#DA291C;--pr-red-deep:#A3161C;--pr-gold:#E2C47E;--pr-ink:#1D2A33;--pr-muted:#5E6B73;--pr-rule:#DDE3E7;
  --pr-paper:rgba(255,255,255,.93);--pr-m1:#D52B1E;--pr-m2:#2F6BC4;--pr-m3:#00A08A;--pr-m4:#C98A00;--pr-mute:#C3CCD2;
  --pr-display:'Bricolage Grotesque','IBM Plex Sans',system-ui,sans-serif;--pr-text:'Instrument Sans','IBM Plex Sans',system-ui,sans-serif;
  font-family:var(--pr-text);color:var(--pr-ink);display:grid;gap:1.25rem;position:relative}

/* the flag: fixed behind everything, faint, a slow wave */
.pr-flag{position:fixed;right:-12vmin;bottom:-14vmin;width:82vmin;height:82vmin;z-index:-1;opacity:.075;pointer-events:none}
.pr-flag svg{width:100%;height:100%;transform-origin:0 50%}
@media (prefers-reduced-motion:no-preference){
  .pr-flag svg{animation:pr-wave 9s ease-in-out infinite alternate}
  @keyframes pr-wave{0%{transform:skewY(-2deg) scaleX(.98)}50%{transform:skewY(1.5deg) scaleX(1)}100%{transform:skewY(-1deg) scaleX(.985)}}
}

/* passport-cover header */
.pr-cover{position:relative;overflow:hidden;background:var(--pr-red-deep);color:#fff;border-radius:10px;
  padding:clamp(1.3rem,4vw,2.4rem) clamp(1.2rem,4vw,2.6rem);display:grid;gap:.7rem;isolation:isolate}
.pr-cover .guilloche{position:absolute;inset:0;z-index:-1;opacity:.16}
.pr-cover .strip{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--pr-gold);margin:0}
.pr-cover .emblem{position:absolute;right:clamp(1rem,4vw,2.4rem);top:clamp(1rem,3vw,1.8rem);width:clamp(54px,9vw,84px);height:auto}
.pr-cover .eyebrow{font-size:.82rem;opacity:.85;margin:.6rem 0 0;max-width:60ch}
.pr-cover h1{font-family:var(--pr-display);font-weight:600;font-size:clamp(1.75rem,4.8vw,3rem);line-height:1.04;letter-spacing:-.02em;margin:0;max-width:16ch;text-wrap:balance}
.pr-cover .lead{margin:.2rem 0 0;max-width:62ch;line-height:1.55;font-size:1rem;color:rgba(255,255,255,.93)}
.pr-cover .lead b{font-weight:600;white-space:nowrap;color:#fff}

/* model figures: one ruled strip, not a row of cards */
.pr-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--pr-paper);border:1px solid var(--pr-rule);border-radius:10px}
.pr-facts>div{padding:1rem 1.1rem;display:grid;gap:.2rem;min-width:0}
.pr-facts>div+div{border-left:1px solid var(--pr-rule)}
.pr-facts .lbl{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--pr-muted)}
.pr-facts .val{font-family:var(--pr-display);font-weight:600;font-size:clamp(1.35rem,2.6vw,1.75rem);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.pr-facts .val small{font-family:var(--pr-text);font-weight:400;font-size:.78rem;color:var(--pr-muted);margin-left:.3rem}
.pr-facts .sub{font-size:.8rem;color:var(--pr-muted);font-variant-numeric:tabular-nums}
.pr-facts .sub b{color:var(--pr-ink);font-weight:600}
.pr-facts .yoy{font-size:.85rem;color:var(--pr-muted);font-variant-numeric:tabular-nums}
.pr-facts .yoy b{font-weight:600}.pr-facts .yoy.up b{color:var(--pr-red-deep)}.pr-facts .yoy.down b{color:#0B7A68}
.pr-facts .scope{grid-column:1/-1;border-top:1px solid var(--pr-rule);border-left:0;padding:.55rem 1.1rem;font-size:.76rem;color:var(--pr-muted)}
@media (max-width:760px){.pr-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-facts>div:nth-child(3){border-left:0}.pr-facts>div:nth-child(n+3){border-top:1px solid var(--pr-rule)}}

.pr-glyph{width:12px;height:12px;flex:none;overflow:visible}
.pr-standard{fill:var(--pr-m1)} .pr-medico{fill:var(--pr-m2)} .pr-telmed{fill:var(--pr-m3)} .pr-altri{fill:var(--pr-m4)}

/* panels */
.pr-panel{background:var(--pr-paper);border:1px solid var(--pr-rule);border-radius:10px;padding:clamp(1rem,2.5vw,1.4rem);min-width:0}
.pr-panel h2{font-family:var(--pr-display);font-weight:600;font-size:1.2rem;letter-spacing:-.01em;margin:0}
.pr-panel h3{font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pr-muted);margin:0 0 .5rem}
.pr-panel .note{font-size:.84rem;color:var(--pr-muted);margin:.25rem 0 .8rem;max-width:72ch;line-height:1.45}
.pr-legend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.8rem;color:var(--pr-muted);margin:0 0 .6rem;align-items:center}
.pr-legend span{display:inline-flex;align-items:center;gap:.4rem}
.pr-legend i{display:inline-block;width:16px;height:3px;border-radius:2px}
.pr-two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:1.6rem;margin-top:.6rem}
@media (max-width:860px){.pr-two{grid-template-columns:minmax(0,1fr)}}
.pr-pick{display:inline-flex;gap:.4rem;align-items:center;margin-left:auto}
.pr-pick select{font:inherit;font-size:.82rem;padding:.25rem .45rem}

/* charts: capped on wide screens, scroll sideways on phones instead of shrinking the text */
.pr-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
#modelli .pr-chart,#impatto>.pr-scroll .pr-chart,#costi>.pr-scroll .pr-chart{max-width:860px}
@media (max-width:600px){#modelli .pr-chart,#impatto>.pr-scroll .pr-chart,#costi>.pr-scroll .pr-chart{min-width:680px}.pr-two .pr-chart{min-width:470px}}
.pr-chart{width:100%;height:auto;display:block;font-family:var(--pr-text)}
.pr-chart text{font-size:11px;fill:var(--pr-muted);font-variant-numeric:tabular-nums}
.pr-chart .grid{stroke:#E6EBEE;stroke-width:1}
.pr-chart .row .hit{fill:transparent}
.pr-chart .row:hover .hit{fill:rgba(29,42,51,.05)}
.pr-chart .row.ti .hit{fill:rgba(218,41,28,.08)}
.pr-chart .row.ti .name,.pr-chart .bar.ti text,.pr-chart .end.ti{fill:var(--pr-ink);font-weight:600}
.pr-chart .span{stroke:var(--pr-mute);stroke-width:2;stroke-linecap:round}
.pr-chart .pt>*{stroke:#fff;stroke-width:1.5}
.pr-chart .bar rect{fill:var(--pr-mute)} .pr-chart .bar.ti rect{fill:var(--pr-red)}
.pr-chart .bar:hover rect{fill:#9FADB6} .pr-chart .bar.ti:hover rect{fill:var(--pr-red)}
.pr-chart .faint{fill:none;stroke:#9AA6AE;stroke-width:1;opacity:.35}
.pr-chart .faint:hover{opacity:1;stroke-width:2}
.pr-chart .line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.pr-chart .line.mean{stroke:var(--pr-ink)} .pr-chart .line.cmp{stroke:var(--pr-m2)} .pr-chart .line.ti{stroke:var(--pr-red)}
.pr-chart .dot{stroke:#fff;stroke-width:1.5} .pr-chart .dot.mean{fill:var(--pr-ink)} .pr-chart .dot.cmp{fill:var(--pr-m2)} .pr-chart .dot.ti{fill:var(--pr-red)}
.pr-chart .end.cmp{fill:var(--pr-m2)}

/* table */
.pr-table{overflow-x:auto}
.pr-table table{width:100%;border-collapse:collapse;font-size:.86rem;font-variant-numeric:tabular-nums}
.pr-table th,.pr-table td{padding:.45rem .55rem;text-align:right;border-bottom:1px solid var(--pr-rule);white-space:nowrap}
.pr-table th:first-child,.pr-table td:first-child{text-align:left}
.pr-table th{font-size:.76rem;font-weight:600;color:var(--pr-muted);text-transform:uppercase;letter-spacing:.04em}
.pr-table tr.ti td{background:rgba(218,41,28,.07);font-weight:600}
.pr-table td.up{color:#A3161C}
@media (max-width:600px){.pr-table .hide-n{display:none}}

/* sources & disclaimer: always visible, never folded */
.pr-notes{display:grid;gap:.7rem;font-size:.84rem;line-height:1.55;color:var(--pr-muted)}
.pr-notes h2{font-size:1.05rem}
.pr-notes p{margin:0;max-width:95ch}
.pr-notes ul{margin:0;padding-left:1.1rem}
.pr-notes .disclaimer{color:var(--pr-ink)}

/* impact section */
.im .im-lead{font-size:1rem;line-height:1.55;max-width:70ch;margin:.4rem 0 1.1rem}
.im .im-lead b{font-weight:600;white-space:nowrap}
.im h3{margin-top:1.1rem}
.im .pr-legend i.k{width:10px;height:10px;border-radius:50%}
.pr-legend i.k.b0{background:var(--pr-mute)} .pr-legend i.k.b1{background:#fff;border:2px solid #7E8B93;box-sizing:border-box}
.pr-legend i.k.bn{background:var(--pr-ink)}
.pr-chart .b0{fill:var(--pr-mute)} .pr-chart .b1{fill:#fff;stroke:#7E8B93;stroke-width:2}
.pr-chart .bn{fill:var(--pr-ink);stroke:#fff;stroke-width:1.5} .pr-chart .bn.ti{fill:var(--pr-red)}
.pr-chart .val{fill:var(--pr-ink)} .pr-chart .val.muted{fill:var(--pr-muted)} .pr-chart .val.ti{font-weight:600}
.pr-chart .pair .p{fill:var(--pr-red)} .pr-chart .pair .i{fill:var(--pr-m2)}
.pr-chart .pair:not(.ti) .p{fill:#E07A72}
.pr-chart .pair.ti .name,.pr-chart .stack.ti .name{fill:var(--pr-ink);font-weight:600}
.pr-chart .stack .r{fill:#9AA6AE} .pr-chart .stack .p{fill:#E07A72} .pr-chart .stack.ti .p{fill:var(--pr-red)}
.pr-chart .stack.ti .r{fill:#6F7C84}
.im-two{margin-top:.4rem}
.im .im-th{margin-top:1.4rem}
.pr-table tr.ch td{border-top:2px solid var(--pr-rule);font-weight:600;color:var(--pr-muted)}
.pr-cover .jump{margin:.3rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.9rem}
.pr-cover .jump a{color:#fff;text-decoration:underline;text-decoration-color:rgba(226,196,126,.8);text-underline-offset:3px}
.pr-chart .pair .val{font-size:10px}
.pr-official{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:.4rem 1.6rem;align-items:center;margin:1rem 0;padding:.9rem 1.1rem;background:var(--pr-paper);border:1px solid var(--pr-rule);border-left:4px solid var(--pr-red);border-radius:10px}
.pr-official h2{grid-column:1/-1;margin:0;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--pr-muted)}
.pr-official .nums{display:flex;flex-wrap:wrap;gap:.4rem 1.8rem}
.pr-official .nums p{margin:0;display:grid;gap:.1rem}
.pr-official .val{font-family:var(--pr-display);font-weight:600;font-size:1.35rem;font-variant-numeric:tabular-nums}
.pr-official .val small{font-family:var(--pr-text);font-weight:400;font-size:.76rem;color:var(--pr-muted);margin-left:.3rem}
.pr-official .who{font-size:.82rem;color:var(--pr-muted)} .pr-official .who b{color:var(--pr-red-deep);font-weight:600}
.pr-official .note{margin:0;font-size:.82rem;line-height:1.5;color:var(--pr-muted);max-width:none}
@media (max-width:760px){.pr-official{grid-template-columns:minmax(0,1fr)}}

/* costs section */
.pr-chart .split .age{fill:#B9C4CC} .pr-chart .split .use{fill:#5E6B73}
.pr-chart .split.ti .age{fill:#F0A39C} .pr-chart .split.ti .use{fill:var(--pr-red)}
.pr-chart .split.ti .name{fill:var(--pr-ink);font-weight:600}
.pr-chart .grid.zero{stroke:#9AA6AE;stroke-width:1.2}
.pr-legend i.k.co-age{background:#B9C4CC;border-radius:2px} .pr-legend i.k.co-use{background:#5E6B73;border-radius:2px}
.pr-legend i.dash{background:repeating-linear-gradient(90deg,var(--pr-ink) 0 4px,transparent 4px 7px)}
.pr-legend i:not([style]):not(.k):not(.dash){background:var(--pr-ink)}
.pr-chart .line.dash{stroke-dasharray:5 4;stroke-width:2}
.pr-chart .gbar.ti rect{fill:var(--pr-red)} .pr-chart .gbar.cmp rect{fill:var(--pr-m2)} .pr-chart .gbar.ch rect{fill:#9AA6AE}
.pr-chart .gbar .val{font-size:9.5px;fill:var(--pr-muted)} .pr-chart .gbar.ti .val{fill:var(--pr-ink)}
.co-two{margin-top:.6rem}
.pr-chart .split .hit{fill:transparent} .pr-chart .split:hover .hit{fill:rgba(29,42,51,.05)} .pr-chart .split.ti .hit{fill:rgba(218,41,28,.08)}
.pr-chart .split .tot{stroke:var(--pr-ink);stroke-width:2}
.pr-chart .split .hosp{fill:#8C99A2} .pr-chart .split.ti .hosp{fill:#E2675D}
.pr-legend i.k.co-hosp{background:#8C99A2;border-radius:2px}
.pr-chart .line.cmp2{stroke:var(--pr-m3)} .pr-chart .dot.cmp2{fill:var(--pr-m3)} .pr-chart .end.cmp2{fill:#00796A}
.pr-chart .gbar.cmp2 rect{fill:var(--pr-m3)}
.pr-pick select+select{margin-left:.2rem}

/* drivers section: small multiples */
.dr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.2rem;margin-top:.4rem}
@media (max-width:980px){.dr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.dr-grid{grid-template-columns:minmax(0,1fr)}}
.dr-grid figure{margin:0;min-width:0}
.dr-grid figcaption{font-size:.84rem;line-height:1.35;margin-bottom:.2rem}
.dr-grid figcaption .r{font-variant-numeric:tabular-nums;color:var(--pr-muted);margin-left:.3rem}
.dr-grid figcaption small{color:var(--pr-muted)}
.pr-chart.sc .pt{fill:#B9C4CC;stroke:#fff;stroke-width:1}
.pr-chart.sc .pt.ti{fill:var(--pr-red)} .pr-chart.sc .pt.cmp{fill:var(--pr-m2)} .pr-chart.sc .pt.cmp2{fill:var(--pr-m3)}
.pr-chart.sc .fit{stroke:#9AA6AE;stroke-width:1.5;stroke-dasharray:4 4}
.pr-chart.sc .lab{font-size:10.5px;font-weight:600} .pr-chart.sc .lab.ti{fill:var(--pr-red)} .pr-chart.sc .lab.cmp{fill:var(--pr-m2)} .pr-chart.sc .lab.cmp2{fill:#00796A}
.pr-chart.sc .tick.ax{font-size:10px}
.pr-pick{flex-wrap:wrap;max-width:100%}
@media (max-width:760px){
  .pr-pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;margin-left:0;gap:.35rem .5rem}
  .pr-pick>span{grid-column:1/-1}
  .pr-pick select,.pr-pick select+select{width:100%;min-width:0;max-width:none;margin-left:0;font-size:16px}
}
@media (max-width:600px){#storico .pr-two>div:first-child .pr-chart{min-width:0}}
.pr-cover .upd{margin:0;font-size:.82rem;color:rgba(255,255,255,.8)} .pr-cover .upd b{color:#fff;font-weight:600}
