.spi-rd:not(#spi-rd-x) .bh{padding-top: clamp(150px, 22vh, 230px); padding-bottom: clamp(36px, 6vh, 70px);}
.spi-rd:not(#spi-rd-x) .bh-title{margin: 18px 0 0; font: 600 clamp(4.6rem, 17vw, 16rem)/.86 var(--font-display); letter-spacing: -.055em; overflow-wrap: anywhere;}
.spi-rd:not(#spi-rd-x) .bh-row{display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: clamp(28px, 5vh, 56px); padding-top: 26px; border-top: 1px solid var(--line);}
.spi-rd:not(#spi-rd-x) .bh-logo{max-width: min(320px, 70vw); max-height: 120px;}
.spi-rd:not(#spi-rd-x) .bh-stats{display: grid; grid-template-columns: repeat(4, auto); gap: 8px clamp(26px, 5vw, 72px); margin: 0;}
.spi-rd:not(#spi-rd-x) .bh-stats div{min-width: 0;}
.spi-rd:not(#spi-rd-x) .bh-stats dt{font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted);}
.spi-rd:not(#spi-rd-x) .bh-stats dd{margin: 4px 0 0; padding: 0; font: 500 clamp(2rem, 4.2vw, 3.6rem)/1 var(--font-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums;}
@media (max-width: 640px){.spi-rd:not(#spi-rd-x) .bh-stats{grid-template-columns: repeat(2, auto);}}
.spi-rd:not(#spi-rd-x) .lead{margin-top: 6px;}
.spi-rd:not(#spi-rd-x) .lead-link{position: relative; display: block; border-radius: var(--radius); overflow: hidden; text-decoration: none; background: var(--surface); isolation: isolate;}
.spi-rd:not(#spi-rd-x) .lead-media{display: block; aspect-ratio: 21 / 9; overflow: hidden;}
@media (max-width: 760px){.spi-rd:not(#spi-rd-x) .lead-media{aspect-ratio: 4 / 5;}}
.spi-rd:not(#spi-rd-x) .lead-media img{width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 60%; transition: transform .9s var(--ease-out);}
.spi-rd:not(#spi-rd-x) .lead-link::after{content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.72) 100%); z-index: 0; pointer-events: none;}
.spi-rd:not(#spi-rd-x) .lead-cap{position: absolute; left: clamp(22px, 3vw, 44px); bottom: clamp(22px, 3vw, 40px); right: 180px; z-index: 1; display: grid; gap: 6px;}
.spi-rd:not(#spi-rd-x) .lead-title{font: 600 clamp(1.6rem, 3.4vw, 3rem)/1.04 var(--font-ui); letter-spacing: -.02em;}
.spi-rd:not(#spi-rd-x) .lead-place{color: var(--muted);}
.spi-rd:not(#spi-rd-x) .lead-cta{position: absolute; right: clamp(22px, 3vw, 40px); bottom: clamp(22px, 3vw, 40px); z-index: 1; display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border-radius: 200px; background: var(--text); color: var(--bg); font-size: 14px; transition: background-color .2s ease;}
@media (max-width: 760px){.spi-rd:not(#spi-rd-x) .lead-cap{right: 22px; bottom: 90px;}
.spi-rd:not(#spi-rd-x) .lead-cta{left: 22px; right: auto;}}
@media (hover: hover) and (pointer: fine){.spi-rd:not(#spi-rd-x) .lead-link:hover .lead-media img{transform: scale(1.03);}
.spi-rd:not(#spi-rd-x) .lead-link:hover .lead-cta{background: var(--accent);}}
.spi-rd:not(#spi-rd-x) .sec-head{display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 40px; margin-bottom: clamp(26px, 4vh, 44px);}
.spi-rd:not(#spi-rd-x) .sec-title{margin: 0; font: 600 clamp(3rem, 8.5vw, 7.6rem)/.9 var(--font-ui); letter-spacing: -.045em;}
.spi-rd:not(#spi-rd-x) .sec-note{margin: 0; max-width: 40ch; color: var(--muted); font-size: 16px;}
.spi-rd:not(#spi-rd-x) .fp{margin-top: clamp(90px, 14vh, 170px);}
.spi-rd:not(#spi-rd-x) .fp-frame{position: relative; border: 1px solid var(--line); border-radius: var(--radius); background: radial-gradient(120% 140% at 50% 0%, #121212 0%, #050505 70%); padding: clamp(10px, 2vw, 28px); overflow: hidden;}
.spi-rd:not(#spi-rd-x) .fp-svg{display: block; width: 100%; height: auto; overflow: visible;}
.spi-rd:not(#spi-rd-x) .fp-grid{stroke: var(--line); stroke-width: 1; stroke-dasharray: 2 6;}
.spi-rd:not(#spi-rd-x) .fp-ctx{fill: rgba(255,255,255,.2);}
.spi-rd:not(#spi-rd-x) .fp-dot{cursor: pointer;}
.spi-rd:not(#spi-rd-x) .fp-core{fill: var(--text); transition: fill .2s ease;}
.spi-rd:not(#spi-rd-x) .fp-halo{fill: var(--accent); opacity: 0; transition: opacity .2s ease;}
.spi-rd:not(#spi-rd-x) .fp-dot.is-on .fp-core{fill: var(--accent);}
.spi-rd:not(#spi-rd-x) .fp-dot.is-on .fp-halo{opacity: .22;}
.spi-rd:not(#spi-rd-x) .fp-label{fill: var(--muted); font: 500 15px var(--font-ui); paint-order: stroke; stroke: #070707; stroke-width: 5px; transition: fill .2s ease; pointer-events: none;}
.spi-rd:not(#spi-rd-x) .fp-label.is-on{fill: var(--text);}
.spi-rd:not(#spi-rd-x) .fp-label-n{fill: var(--accent); font-size: 12px;}
@media (max-width: 760px){.spi-rd:not(#spi-rd-x) .fp-label{font-size: 22px; stroke-width: 7px;}}
.spi-rd:not(#spi-rd-x) .fp-cta{margin-top: 22px;}
.spi-rd:not(#spi-rd-x) .ix{margin-top: clamp(90px, 14vh, 170px); position: relative;}
.spi-rd:not(#spi-rd-x) .view-toggle{display: inline-flex; padding: 4px; border: 1px solid var(--line-strong); border-radius: 200px;}
.spi-rd:not(#spi-rd-x) .vt-btn{min-height: 38px; padding: 0 18px; border: 0; border-radius: 200px; background: transparent; color: var(--muted); font-size: 14px; cursor: pointer; transition: background-color .2s ease, color .2s ease;}
.spi-rd:not(#spi-rd-x) .vt-btn[aria-pressed="true"]{background: var(--text); color: var(--bg);}
.spi-rd:not(#spi-rd-x) .ix-views[data-view="index"] .gc-grid,.spi-rd:not(#spi-rd-x) .ix-views[data-view="grid"] .ix-list{display: none;}
.spi-rd:not(#spi-rd-x) .ix-list{list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line);}
.spi-rd:not(#spi-rd-x) .ix-head,.spi-rd:not(#spi-rd-x) .ix-link{display: grid; grid-template-columns: 90px minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, .8fr); gap: 20px; align-items: baseline;}
.spi-rd:not(#spi-rd-x) .ix-head{padding: 14px 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--faint);}
.spi-rd:not(#spi-rd-x) .ix-row{border-bottom: 1px solid var(--line);}
.spi-rd:not(#spi-rd-x) .ix-link{position: relative; padding: clamp(18px, 2.4vw, 26px) 0; text-decoration: none;}
.spi-rd:not(#spi-rd-x) .ix-year{font: 500 15px var(--font-display); color: var(--accent); font-variant-numeric: tabular-nums;}
.spi-rd:not(#spi-rd-x) .ix-title{font: 600 clamp(1.25rem, 2.3vw, 2rem)/1.15 var(--font-ui); letter-spacing: -.015em; transition: transform .35s var(--ease-out), color .2s ease;}
.spi-rd:not(#spi-rd-x) .ix-place,.spi-rd:not(#spi-rd-x) .ix-type{color: var(--muted); font-size: 16px;}
.spi-rd:not(#spi-rd-x) .ix-thumb{display: none;}
@media (hover: hover) and (pointer: fine){.spi-rd:not(#spi-rd-x) .ix-list:hover .ix-title{color: var(--faint);}
.spi-rd:not(#spi-rd-x) .ix-list:hover .ix-link:hover .ix-title{color: var(--text); transform: translateX(10px);}}
.spi-rd:not(#spi-rd-x) .ix-link:focus-visible .ix-title{color: var(--text);}
@media (max-width: 760px){.spi-rd:not(#spi-rd-x) .ix-head{display: none;}
.spi-rd:not(#spi-rd-x) .ix-link{grid-template-columns: 76px minmax(0, 1fr); grid-template-areas: 'thumb title' 'thumb place'; gap: 4px 16px; align-items: center;}
.spi-rd:not(#spi-rd-x) .ix-year,.spi-rd:not(#spi-rd-x) .ix-type,.spi-rd:not(#spi-rd-x) .ix-country{display: none;}
.spi-rd:not(#spi-rd-x) .ix-thumb{display: block; grid-area: thumb; width: 76px; aspect-ratio: 1; border-radius: var(--radius-s); overflow: hidden;}
.spi-rd:not(#spi-rd-x) .ix-thumb img{width: 100%; height: 100%; object-fit: cover;}
.spi-rd:not(#spi-rd-x) .ix-title{grid-area: title;}
.spi-rd:not(#spi-rd-x) .ix-place{grid-area: place; font-size: 14px;}}
.spi-rd:not(#spi-rd-x) .ix-preview{position: fixed; left: 0; top: 0; z-index: 40; width: clamp(260px, 24vw, 380px); aspect-ratio: 4 / 3; pointer-events: none; opacity: 0; visibility: hidden;}
.spi-rd:not(#spi-rd-x) .ix-preview-in{width: 100%; height: 100%; border-radius: var(--radius-s); overflow: hidden; background: var(--surface-2); box-shadow: 0 30px 80px rgba(0,0,0,.6);}
.spi-rd:not(#spi-rd-x) .ix-preview img{width: 100%; height: 100%; object-fit: cover;}
@media (hover: none), (pointer: coarse){.spi-rd:not(#spi-rd-x) .ix-preview{display: none;}}
.spi-rd:not(#spi-rd-x) .gc-grid{list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(18px, 2vw, 28px); grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr));}
.spi-rd:not(#spi-rd-x) .gc-link{display: block; text-decoration: none;}
.spi-rd:not(#spi-rd-x) .gc-media{display: block; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; background: var(--surface);}
.spi-rd:not(#spi-rd-x) .gc-media img{width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out);}
.spi-rd:not(#spi-rd-x) .gc-meta{display: grid; gap: 2px; padding: 14px 4px 0;}
.spi-rd:not(#spi-rd-x) .gc-title{font-weight: 600; font-size: 19px; line-height: 1.25;}
.spi-rd:not(#spi-rd-x) .gc-sub{color: var(--muted); font-size: 15px;}
@media (hover: hover) and (pointer: fine){.spi-rd:not(#spi-rd-x) .gc-link:hover .gc-media img{transform: scale(1.04);}}
.spi-rd:not(#spi-rd-x) .ob{margin-top: clamp(110px, 16vh, 200px); padding-bottom: clamp(90px, 14vh, 160px);}
.spi-rd:not(#spi-rd-x) .ob-wall{list-style: none; margin: clamp(30px, 5vh, 60px) 0 0; padding: 0;}
@media (prefers-reduced-motion: reduce){.spi-rd:not(#spi-rd-x) .lead-media img,.spi-rd:not(#spi-rd-x) .gc-media img,.spi-rd:not(#spi-rd-x) .ix-title{transition: none !important; transform: none !important;}}
.spi-js:not(.spi-ready) .spi-rd:not(#spi-rd-x) .bh > *,.spi-js:not(.spi-ready) .spi-rd:not(#spi-rd-x) .lead{opacity: 0;}
.spi-rd:not(#spi-rd-x) .fp-label--tip{opacity: 0; transition: opacity .2s ease;}
.spi-rd:not(#spi-rd-x) .fp-label--tip.is-on{opacity: 1;}
@media (max-width: 640px){.spi-rd:not(#spi-rd-x) .bh-row{flex-direction: column; align-items: flex-start; gap: 22px;}
.spi-rd:not(#spi-rd-x) .bh-logo{--s: 56px !important;}
.spi-rd:not(#spi-rd-x) .bh-stats{width: 100%; gap: 18px 24px;}}
.spi-rd:not(#spi-rd-x) .lead-logo{position: absolute; top: clamp(22px, 3vw, 40px); left: clamp(22px, 3vw, 44px); z-index: 1; max-width: 46%; max-height: 64px; filter: drop-shadow(0 2px 14px rgba(0,0,0,.5));}
.spi-rd:not(#spi-rd-x) .lead-logo.logo--svg{filter: brightness(0) invert(1) drop-shadow(0 2px 14px rgba(0,0,0,.5));}
.spi-rd:not(#spi-rd-x) .ob-wall{display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 10px;}
.spi-rd:not(#spi-rd-x) .ob-wall li{margin: 0;}
.spi-rd:not(#spi-rd-x) .ob-tile{position: relative; display: grid; grid-template-rows: 1fr auto; aspect-ratio: 4 / 3; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-s); overflow: hidden; text-decoration: none; background: var(--surface); isolation: isolate; font: inherit; color: var(--text); letter-spacing: 0;}
.spi-rd:not(#spi-rd-x) .ob-bg{position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .35s ease;}
.spi-rd:not(#spi-rd-x) .ob-bg img{width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform .9s var(--ease-out);}
.spi-rd:not(#spi-rd-x) .ob-bg::after{content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.62);}
.spi-rd:not(#spi-rd-x) .ob-mark{display: grid; place-items: center; min-height: 0;}
.spi-rd:not(#spi-rd-x) .ob-logo{max-height: 78px; opacity: .78; transition: opacity .25s ease;}
.spi-rd:not(#spi-rd-x) .ob-word{font: 600 clamp(1.1rem, 1.8vw, 1.5rem)/1.1 var(--font-ui); text-align: center; opacity: .78;}
.spi-rd:not(#spi-rd-x) .ob-meta{display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 13px;}
.spi-rd:not(#spi-rd-x) .ob-name{color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.spi-rd:not(#spi-rd-x) .ob-n{color: var(--accent); white-space: nowrap; font-variant-numeric: tabular-nums;}
@media (hover: hover) and (pointer: fine){.spi-rd:not(#spi-rd-x) .ob-tile:hover .ob-bg{opacity: 1;}
.spi-rd:not(#spi-rd-x) .ob-tile:hover .ob-bg img{transform: scale(1);}
.spi-rd:not(#spi-rd-x) .ob-tile:hover .ob-logo,.spi-rd:not(#spi-rd-x) .ob-tile:hover .ob-word{opacity: 1;}
.spi-rd:not(#spi-rd-x) .ob-tile:hover .ob-name{color: var(--text);}}
.spi-rd:not(#spi-rd-x) .ob-tile:focus-visible .ob-bg{opacity: 1;}
.spi-rd:not(#spi-rd-x) .ob-tile:focus-visible .ob-logo{opacity: 1;}
@media (prefers-reduced-motion: reduce){.spi-rd:not(#spi-rd-x) .ob-bg img{transform: none !important; transition: none !important;}}
.spi-rd:not(#spi-rd-x) .bm{margin-top: clamp(90px, 14vh, 170px);}
.spi-rd:not(#spi-rd-x) .bm-frame{position: relative; height: clamp(340px, 56vh, 560px); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #0b0b0b; isolation: isolate;}
.spi-rd:not(#spi-rd-x) .bm-map{position: absolute; inset: 0; background: #0b0b0b;}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-tile-pane{filter: brightness(.55) contrast(1.15);}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-labels-pane{opacity: .5; pointer-events: none;}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-control-zoom{border: 0 !important; margin: 16px !important;}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-control-zoom a{width: 40px !important; height: 40px !important; line-height: 38px !important; background: var(--surface-2) !important; color: var(--text) !important; border: 1px solid var(--line) !important;}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-control-zoom a:first-child{border-radius: 12px 12px 0 0 !important;}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-control-zoom a:last-child{border-radius: 0 0 12px 12px !important;}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-control-attribution{background: rgba(0,0,0,.55) !important; color: var(--faint) !important; font-size: 10px !important;}
.spi-rd:not(#spi-rd-x) .bm-map .leaflet-control-attribution a{color: var(--muted) !important;}
.spi-rd:not(#spi-rd-x) .bm-cta{position: absolute; left: 18px; bottom: 18px; z-index: 500;}
.spi-rd:not(#spi-rd-x) .lpin-wrap,.spi-rd:not(#spi-rd-x) .clu-wrap{background: none; border: 0;}
.spi-rd:not(#spi-rd-x) .lpin{box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0 11px; border-radius: 200px; background: #0d0d0d; border: 1px solid rgba(255,255,255,.3); box-shadow: 0 6px 18px rgba(0,0,0,.5); transition: transform .2s var(--ease-out), background-color .2s ease;}
.spi-rd:not(#spi-rd-x) .leaflet-container .leaflet-marker-pane .lpin img.logo{width: var(--w) !important; height: auto !important; max-width: 100% !important; max-height: 18px !important;}
.spi-rd:not(#spi-rd-x) .lpin-wrap:hover .lpin,.spi-rd:not(#spi-rd-x) .lpin-wrap:focus-visible .lpin{background: var(--accent); border-color: var(--accent); transform: scale(1.1);}
.spi-rd:not(#spi-rd-x) .clu{box-sizing: border-box; display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: #fff; color: #000 !important; font: 600 14px/1 var(--font-ui); box-shadow: 0 0 0 6px rgba(255,255,255,.14);}
.spi-rd:not(#spi-rd-x) .bm-tip{font: 500 13px/1.3 var(--font-ui);}
.spi-rd:not(#spi-rd-x) .leaflet-tooltip.bm-tip{background: #141414; color: #fff; border: 1px solid var(--line-strong); border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.5); padding: 8px 12px;}
.spi-rd:not(#spi-rd-x) .leaflet-tooltip.bm-tip::before{display: none;}
.spi-rd:not(#spi-rd-x) .bm-tip small{display: block; color: var(--muted); font-size: 12px;}
@media (prefers-reduced-motion: reduce){.spi-rd:not(#spi-rd-x) .lpin{transition: none;}}
.spi-rd:not(#spi-rd-x) .ix--few .gc-grid{grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));}
.spi-rd:not(#spi-rd-x) .pg{margin-top: clamp(90px, 14vh, 170px); display: grid; gap: clamp(90px, 14vh, 160px);}
.spi-rd:not(#spi-rd-x) .pg-head{display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 40px; margin-bottom: clamp(22px, 3.5vh, 36px); padding-bottom: 22px; border-bottom: 1px solid var(--line);}
.spi-rd:not(#spi-rd-x) .pg-title{margin: 10px 0 0; font: 600 clamp(2rem, 4.6vw, 4.2rem)/1 var(--font-ui); letter-spacing: -.035em;}
.spi-rd:not(#spi-rd-x) .pg-grid{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: clamp(200px, 23vw, 400px); gap: clamp(10px, 1.2vw, 18px);}
.spi-rd:not(#spi-rd-x) .pg-cell{grid-column: span 2; min-height: 0; border-radius: var(--radius-s); overflow: hidden; background: var(--surface);}
.spi-rd:not(#spi-rd-x) .pg-cell:nth-child(7n + 1),.spi-rd:not(#spi-rd-x) .pg-cell:nth-child(7n + 7){grid-column: span 4;}
.spi-rd:not(#spi-rd-x) .pg-cell a{display: block; width: 100%; height: 100%;}
.spi-rd:not(#spi-rd-x) .pg-cell img{width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease-out);}
@media (hover: hover) and (pointer: fine){.spi-rd:not(#spi-rd-x) .pg-cell a:hover img{transform: scale(1.03);}}
@media (max-width: 760px){.spi-rd:not(#spi-rd-x) .pg-grid{grid-template-columns: repeat(2, 1fr); grid-auto-rows: 46vw;}
.spi-rd:not(#spi-rd-x) .pg-cell,.spi-rd:not(#spi-rd-x) .pg-cell:nth-child(7n + 1),.spi-rd:not(#spi-rd-x) .pg-cell:nth-child(7n + 7){grid-column: span 1;}
.spi-rd:not(#spi-rd-x) .pg-cell:nth-child(3n + 1){grid-column: span 2;}}
@media (prefers-reduced-motion: reduce){.spi-rd:not(#spi-rd-x) .pg-cell img{transition: none;}}
.spi-rd:not(#spi-rd-x) .is-conf,.spi-rd:not(#spi-rd-x) .is-conf *{cursor: default;}
.spi-rd:not(#spi-rd-x) .lead-link.is-conf .lead-cta{display: none;}
/* header Salient chiaro sull'archivio (come nel template precedente): qui manca il color_change_section delle pagine */
body.tax-project-attributes #header-outer #top{filter:invert(1)}
/* il pulsante bordato (Contact) è già bianco: con l'inversione dell'header diventerebbe nero, quindi lo re-invertiamo */
body.tax-project-attributes #header-outer #top li[class*="button_bordered"]{filter:invert(1)}
