/* Impaginazione dell'articolo corrente, con dati integrati nella colonna di lettura. */
:root{--article-body:Georgia,'Times New Roman',serif;--article-heading:'DIN Alternate','DM Sans',Arial,sans-serif}
.story,.opening-deck{font-family:var(--article-body)}
.story p,.story li{font-size:18px;line-height:1.78}
.opening h1,.story h2,.story h3,.story h4,.contents-title,.footer-title{font-family:var(--article-heading);font-weight:700}
.opening h1{font-weight:700}
.opening h1 em,.footer-title em{font-family:var(--article-heading);font-style:normal;font-weight:inherit}
.data-module,.sources-section,.source-ref{font-family:var(--body)}
.story .data-module em{font-family:var(--body)}

/* Fix essenziale: rimuove qualsiasi stroke indesiderato dai testi SVG nei grafici */
.data-module svg text,
.data-module svg tspan,
svg text {
  stroke: none !important;
  stroke-width: 0 !important;
}

.opening{padding-top:46px;padding-bottom:40px;grid-template-columns:1.55fr 1fr;gap:48px}
.opening h1{font-size:clamp(46px,5.2vw,72px);line-height:1.08}
.hero-figure{width:100%;margin:0}
.hero-figure img{border-radius:0;height:auto;max-height:640px;object-fit:cover;object-position:center 53%;width:100%}
.hero-figure figcaption{padding-top:12px}
.story-layout{padding-top:65px;grid-template-columns:205px minmax(0,760px);gap:65px}
.contents nav a{display:flex;gap:10px;font-size:12px;padding:9px 0}
.contents nav a span{flex:0 0 20px;font-variant-numeric:tabular-nums;font-size:10px;color:var(--muted);padding-top:2px}
.contents-sticky{top:112px}
.article-introduction{margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.story .article-introduction p:first-child{font-size:20px;line-height:1.7;color:var(--text)}
.chapter{margin-bottom:65px;scroll-margin-top:110px}
.story .chapter-number{font-family:var(--body);font-size:12px;letter-spacing:.12em;color:var(--rust-light);font-weight:600;margin-bottom:12px}
.chapter-heading{display:flex;align-items:baseline;gap:15px;margin-bottom:25px}
.story .chapter-heading .chapter-number{flex:0 0 auto;font-family:var(--article-body);font-size:40px;line-height:1.1;font-style:normal;font-weight:400;letter-spacing:-.035em;color:var(--rust);margin:0}
.story .chapter-heading h2{min-width:0;margin:0}
.story h2{font-size:33px;line-height:1.2;margin-bottom:25px}
.story h3{font-size:19px;margin-top:32px}
.story ul,.story ol{padding-left:23px;margin-block:20px 27px}
.story li{font-size:17px;line-height:1.78;color:var(--body-text);margin-bottom:13px}
.story em{font-family:var(--article-body);font-weight:400}
.story .sector-priorities{list-style:none;padding:0;margin:28px 0 32px;display:grid;gap:20px}
.story .sector-priorities li{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:22px;margin:0;break-inside:avoid}
.story .sector-priorities .priority-box{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;box-sizing:border-box;padding:6px;margin:0;border:0;border-radius:6px;background:var(--rust);color:#fff;text-align:center;font:700 22px/1.25 var(--article-heading);letter-spacing:0}
.story .sector-priorities .priority-description{margin:0;font:400 15.5px/1.72 var(--article-body);color:var(--body-text)}
@media(max-width:600px){.story .sector-priorities{gap:24px}.story .sector-priorities li{grid-template-columns:110px minmax(0,1fr);align-items:start;gap:16px}.story .sector-priorities .priority-box{padding:4px;font-size:16px}.story .sector-priorities .priority-description{font-size:14px;line-height:1.65}}
@media(max-width:360px){.story .sector-priorities li{grid-template-columns:100px minmax(0,1fr);gap:12px}.story .sector-priorities .priority-box{font-size:15px}}
@media print{.story .sector-priorities .priority-box{print-color-adjust:exact}.story .sector-priorities .priority-description{font-size:11pt}}
.article-photo{margin:28px 0 32px}
.article-photo img{width:100%;height:auto;border-radius:2px}
.article-photo figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}
.rider-photo{margin:0 0 48px;grid-template-columns:1fr 1fr;align-items:center;gap:30px}
.rider-photo img{height:430px;object-fit:cover;max-height:none;object-position:center 45%}
.rider-photo figcaption{font-size:25px;line-height:1.4}
.story .algorithm-focus{border:1px solid var(--line);border-top:3px solid var(--rust);padding:23px 25px;background:var(--surface);margin:30px 0}
.story .algorithm-focus h3{font:700 21px/1.35 var(--article-heading);margin:0 0 20px}
.story .algorithm-focus p{font:400 16px/1.75 var(--article-body);color:var(--body-text);margin-bottom:17px}
.story .algorithm-focus p:last-child{margin-bottom:0}
.testimony-box{margin:16px 0;padding:18px 21px;border:1px solid var(--line);border-left:3px solid var(--rust);background:var(--surface);border-radius:2px;scroll-margin-top:110px}
.story .testimony-box p{font-size:15.5px;line-height:1.72;color:var(--body-text);margin:0}
.story .testimony-box p>strong:first-child{display:block;font-family:var(--article-heading);font-weight:700;font-size:16px;line-height:1.5;color:var(--text);margin-bottom:9px}
.city-comparison{margin:27px 0 0;border-top:1px solid var(--line)}
.city-entry{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.city-symbol{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid #e3c4b2;background:#faf3eb;color:var(--rust)}
.city-symbol svg{width:38px;height:38px;stroke-width:1.35}
.city-heading{display:flex;align-items:baseline;gap:9px;margin:0 0 11px}
.story .city-heading h3{flex:0 0 auto;font:700 23px/1.2 var(--article-heading);margin:0;color:var(--text)}
.story .city-heading .city-subtitle{flex:1;min-width:0;margin:0;font-family:var(--body);font-size:12px;line-height:1.4;color:var(--muted)}
.city-subtitle::before{content:'–';margin-right:7px}
.story .city-description{margin:0;font-size:15.5px;line-height:1.72;color:var(--body-text)}
.data-module{width:100%;margin:28px 0 32px;min-width:0}
.story .data-module .module-heading{font:700 22px/1.3 var(--article-heading);letter-spacing:-.02em;margin:0 0 16px}
.story .data-module p{font-size:13px;line-height:1.5;margin:0;color:var(--text)}
.data-module figcaption,.story .data-module .notes p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:9px}
.table-wrap{overflow-x:auto;border-top:2px solid var(--rust);max-width:100%;overscroll-behavior-inline:contain}
.story .data-module .table-hint{display:none}
.table-wrap:focus-visible{outline:2px solid var(--rust-light);outline-offset:4px}
.article-table table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;line-height:1.55}
.article-table thead th{background:var(--surface-high);padding:13px 12px;font-size:11px;font-weight:600;text-align:left}
.article-table td,.article-table tbody th{padding:15px 12px;vertical-align:middle;border-bottom:1px solid var(--line);overflow-wrap:break-word}
.article-table tbody tr:nth-child(even){background:var(--surface)}
.article-table .number,.article-table .amount,.article-table .share{font-variant-numeric:tabular-nums;text-align:right}
.article-table .year{width:10%;text-align:center;font-weight:700;font-size:15px}
.mercato-module .number{width:18%}.mercato-module .ratio{width:16%}
.mercato-module thead th:first-child{width:10%;text-align:center}
.mercato-module thead th:last-child{width:56%}
.mercato-module td.number{font-weight:600;font-size:15px}
.article-table .estimate,.article-table .margin{background:#f2e9cd!important}
.article-table .estimate .year,.article-table .margin th{box-shadow:inset 3px 0 0 var(--saffron)}
.article-table small{display:block;color:var(--muted);font-size:10px;font-weight:400}
.operatori-module .operator{width:16%;text-align:left;font-weight:700}
.operatori-module .share{width:14%;text-align:center;font-weight:600}
.operatori-module .model{width:28%}.operatori-module .focus{width:42%}
.costi-module .cost{width:58%;text-align:left;font-weight:400}
.costi-module .amount,.costi-module .share{width:21%}
.costi-module .key th,.costi-module .key td{font-weight:700}
.article-table .commission{background:#f4e5db!important}
.article-table .commission th{box-shadow:inset 3px 0 0 var(--rust)}
.article-table .notes{margin-top:12px}
.article-table .notes p:empty{display:none}
.diffusion-module table th:first-child{width:48%}
.diffusion-module table th:last-child{text-align:right}
.story .data-module.diffusion-module .module-heading{font-size:26px}
.diffusion-module thead th{font-size:14px;line-height:1.45}
.diffusion-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:26px}
.story .diffusion-module .diffusion-note{margin:0;font:400 14.5px/1.75 var(--article-body);color:var(--body-text)}
.story .diffusion-module .diffusion-note p{margin:0 0 12px;font:inherit;color:inherit}
.story .diffusion-module .diffusion-note p:last-child{margin-bottom:0}
.story .diffusion-module .diffusion-codes{padding-top:12px;border-top:1px solid var(--line)}
.story .diffusion-module .diffusion-note em{font-family:inherit;font-style:italic}
@media(max-width:600px){.diffusion-layout{grid-template-columns:1fr;gap:18px}}
.chart-scroll{overflow-x:auto}
.alfonsino-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.alfonsino-module img{width:100%;height:auto;min-width:0}
.half-year{margin-top:16px;background:var(--surface);padding:18px;border-left:3px solid var(--saffron)}
.half-year h4{margin:0 0 18px;font-size:12px;text-transform:uppercase;letter-spacing:.025em;display:flex;justify-content:space-between;gap:12px}
.half-year h4 span{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px}
.half-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.half-year-grid>div+div{border-left:1px solid var(--line);padding-left:18px}
.story .half-year .metric-name{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:7px}
.story .half-year .metric-value{font:600 25px/1.2 var(--body);color:var(--text)}
.half-year .metric-value span{font:400 13px/1.5 var(--body)}
.story .half-year .metric-change{font-size:12px;font-weight:600;margin-top:8px}
.visibility-module .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.visibility-module article{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:17px}
.visibility-module .aspect{display:flex;align-items:center;gap:12px;min-height:50px}
.visibility-module .icon{flex:0 0 40px;width:40px;height:40px;border:1px solid #e3c4b2;border-radius:50%;background:#faf3eb;color:var(--rust);display:grid;place-items:center}
.visibility-module .icon svg{width:25px;height:25px}
.story .visibility-module h4{margin:0;font-size:16px;line-height:1.35;font-weight:600}
.visibility-module .effect{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.story .visibility-module .label{font-size:9px;letter-spacing:.055em;color:var(--muted);font-weight:700;margin-bottom:7px}
.story .visibility-module .consequence{font-size:14px;line-height:1.5}
.visibility-module .sponsored{background:#f2e9cd;border-color:#e2d6b0}
.visibility-module .sponsored .icon{background:#faf5e7;color:#96700e;border-color:#d8c695}
.rider-module .overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.rider-module .card,.rider-module .panel{border:1px solid var(--line);border-radius:3px;background:var(--surface)}
.rider-module .card{display:grid;grid-template-columns:82px minmax(0,1fr);column-gap:10px;align-items:center;padding:12px 13px}
.rider-module .card.compensation{background:#f2e9cd;border-color:#e2d6b0}
.story .rider-module .category{grid-column:1 / -1;margin:0 0 8px;font-size:9px;line-height:1.4;font-weight:700;letter-spacing:.035em;color:var(--muted);text-transform:uppercase}
.story .rider-module .number{margin:0;font-size:34px;line-height:1;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--rust);white-space:nowrap}
.rider-module .card .number{grid-column:1;grid-row:2 / span 2}
.rider-module .card .description,.rider-module .card .sample{grid-column:2}
.rider-module .number span{font-size:.53em;margin-left:2px;letter-spacing:-.02em}
.story .rider-module .description{font-size:13px;line-height:1.45}
.story .rider-module .sample{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}
.rider-module .panel{margin-top:9px;padding:12px 13px}
.rider-module .panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}
.story .rider-module .panel-head h4{margin:0;font-size:14px;font-weight:600;line-height:1.3}
.story .rider-module .panel-head .sample{margin:0}
.rider-module .availability{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rider-module .item{display:flex;align-items:center;gap:11px}
.story .rider-module .availability .number,.story .rider-module .waiting .number{font-size:32px}
.rider-module .availability .item + .item,.rider-module .waiting .item + .item{border-left:1px solid var(--line);padding-left:12px}
.story .rider-module .clarification{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;color:var(--muted);font-size:11px;line-height:1.4}
.rider-module .waiting{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.story .rider-module .source{margin-top:9px;color:var(--muted);font-size:10px;line-height:1.5}
.rider-module .source a{color:inherit}
.story .sources-section li{font-size:12px;line-height:1.75;margin:0;overflow-wrap:anywhere}
.story .sources-section li p{font-size:12px;line-height:1.75;margin:0}
.source-list li:target{background:var(--surface-high)}
@media(min-width:1500px){.story-layout{grid-template-columns:205px minmax(0,760px);gap:95px}}
@media(max-width:1100px){.story-layout{grid-template-columns:160px minmax(0,1fr);gap:32px}.opening{gap:30px}}
@media(max-width:800px){.opening{grid-template-columns:1fr;gap:24px;padding-top:34px}.opening h1{font-size:clamp(44px,8.5vw,62px)}.story-layout{grid-template-columns:1fr;gap:35px;padding-top:36px}.story{max-width:760px;width:100%}.contents-sticky{position:static}.contents nav a{font-size:12px}.chapter{scroll-margin-top:86px}.story h2{font-size:31px}.hero-figure img{height:380px;object-position:65% center}.hero-figure figcaption{font-size:11px}.rider-photo img{height:360px}.rider-photo figcaption{font-size:23px}.story li{font-size:16px}}
@media(max-width:600px){
 .story p,.story li{font-size:17px;line-height:1.75}.story h2{font-size:29px}.story .article-introduction p:first-child{font-size:18px}.story .data-module .module-heading{font-size:21px}.chapter{margin-bottom:49px}
 .chapter-heading{gap:12px;margin-bottom:22px}.story .chapter-heading .chapter-number{font-size:35px}
 .article-table table{min-width:650px}.costi-module table{min-width:510px}.diffusion-module table{min-width:0;font-size:13px}
 .story .data-module .table-hint{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}
 .alfonsino-charts{grid-template-columns:1fr;gap:18px}.half-year{padding:15px}.half-year-grid{gap:10px}.half-year-grid>div+div{padding-left:10px}.story .half-year .metric-value{font-size:25px}.half-year .metric-value span{display:block;font-size:11px}.half-year h4{font-size:11px}.story .half-year .metric-change{font-size:11px}
 .visibility-module .grid{grid-template-columns:1fr;gap:10px}.visibility-module article{padding:16px}
 .rider-module .overview{grid-template-columns:1fr;gap:7px}
 .rider-module .card{grid-template-columns:94px minmax(0,1fr);column-gap:13px;padding:11px 13px}
 .story .rider-module .category{grid-column:2;grid-row:1;margin-bottom:4px}
 .story .rider-module .card .number{grid-column:1;grid-row:1 / span 3;margin:0;font-size:34px}
 .rider-module .card .description,.rider-module .card .sample{grid-column:2}
 .story .rider-module .card .sample{margin-top:4px}
 .rider-module .panel{padding:12px}.rider-module .availability{gap:8px}.rider-module .availability .item + .item{padding-left:8px}
 .rider-module .availability .item{display:block}.story .rider-module .availability .number{font-size:29px;margin-bottom:5px}.story .rider-module .availability .description{font-size:12px}
 .rider-module .waiting{gap:10px}.rider-module .waiting .item{display:block}.rider-module .waiting .item + .item{padding-left:10px}.story .rider-module .waiting .number{font-size:30px;margin-bottom:5px}
 .rider-module .panel-head{flex-wrap:wrap;gap:3px}
 .rider-photo{grid-template-columns:1fr;gap:15px}.rider-photo img{height:auto;max-height:480px;object-position:center 46%}.rider-photo figcaption{font:400 16px/1.5 var(--body);max-width:none}.rider-photo figcaption span{margin-top:7px}
 .hero-figure img{height:310px;object-position:68% center}.hero-figure figcaption{padding-top:9px}
 .story .algorithm-focus{padding:18px}.story .algorithm-focus p{font-size:14px}
 .testimony-box{padding:16px;margin-block:13px;scroll-margin-top:90px}.story .testimony-box p{font-size:15px}.story .testimony-box p>strong:first-child{font-size:15px}
 .city-entry{grid-template-columns:42px minmax(0,1fr);gap:13px;padding:21px 0}.city-symbol{width:42px;height:42px;grid-column:1;grid-row:1}.city-symbol svg{width:30px;height:30px}.city-content{display:contents}.city-heading{grid-column:2;grid-row:1;margin:0}.story .city-heading h3{font-size:21px}.story .city-heading .city-subtitle{font-size:11px}.story .city-description{grid-column:1 / -1;font-size:15px;line-height:1.7}
}
@media(max-width:360px){.rider-module .card{grid-template-columns:87px minmax(0,1fr);gap:9px}.story .rider-module .card .number{font-size:32px}.story .rider-module .availability .number{font-size:26px}.rider-module .availability .item + .item{padding-left:7px}}
@media print{.hero-figure img{max-height:250px}.article-table table,.alfonsino-module img{min-width:0}.table-wrap,.chart-scroll{overflow:visible}.chapter{scroll-margin-top:0}.data-module,.article-photo{break-inside:avoid}.article-table thead th,.article-table tr,.rider-module .card,.rider-module .panel,.visibility-module article{print-color-adjust:exact}.story-layout{display:block}.story li{font-size:11pt}.story .data-module .number{print-color-adjust:exact}}