@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 62.5% 100%;
  font-display: swap;
  src: url(/assets/font/Archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 62.5% 100%;
  font-display: swap;
  src: url(/assets/font/Archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font/SourceCodePro-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font/SourceCodePro-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font/SourceCodePro-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font/SourceCodePro-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font/SourceCodePro-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font/SourceCodePro-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font/SourceSans3-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font/SourceSans3-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/font/SourceSans3-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/font/SourceSans3-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/font/SourceSerif4-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/font/SourceSerif4-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/font/SourceSerif4-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/font/SourceSerif4-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --ink:#17090B; --vinaccia:#2E1214; --vinaccia-2:#3A1A1C;
  --granata:#8A2530; --rossiccio:#C14B3D; --rosa:#E9B4AC; --carta:#F7EDE9;
  --testo:#F7EDE9; --testo-2:#D9B7B0; --testo-3:#9C7671;
  --linea:rgba(233,180,172,.16); --linea-2:rgba(233,180,172,.08);
  --display:"Archivo","Archivo Narrow","Avenir Next Condensed","Oswald",system-ui,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"Source Code Pro",ui-monospace,Menlo,Consolas,monospace;
  --gut:clamp(1.15rem,4vw,3.25rem);
  --testa:60px;
  --banner:30px;
  --alto:90px;              
  --ease:cubic-bezier(.22,.7,.24,1);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; padding-top:var(--alto); background:var(--ink); color:var(--testo);
  font-family:var(--sans); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body::after{
  content:""; position:fixed; inset:0; z-index:90; pointer-events:none;
  opacity:.28; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)' opacity='.55'/%3E%3C/svg%3E");
}
::selection{ background:var(--rossiccio); color:var(--carta); }
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--rossiccio); outline-offset:3px; }
img{ max-width:100%; }
h1,h2,h3,h4{
  font-family:var(--display); font-weight:800; font-stretch:68%;
  text-transform:uppercase; letter-spacing:-.005em; line-height:.98;
  margin:0; text-wrap:balance;
}
p{ margin:0; }
.eyebrow{ font-family:var(--mono); font-size:.71rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--rossiccio); }
.eyebrow--muto{ color:var(--testo-3); }
.dida{ font-family:var(--mono); font-size:.67rem; letter-spacing:.12em; text-transform:uppercase; color:var(--testo-3); line-height:1.65; }
.prosa{ font-family:var(--serif); font-size:1.15rem; line-height:1.7; color:var(--testo-2); max-width:34rem; }
.prosa strong{ color:var(--carta); font-weight:600; }
.prosa + .prosa{ margin-top:1.05em; }
.riga{ height:1px; background:var(--linea); border:0; margin:0; }
.wrap{ max-width:1200px; margin:0 auto; padding-inline:var(--gut); }
.wrap--stretto{ max-width:860px; }
.sez{ padding-block:clamp(3.5rem,9vh,7rem); }
.testata{ display:flex; flex-direction:column; gap:.9rem; margin-bottom:clamp(1.8rem,4.5vw,3rem);
  border-top:2px solid var(--rossiccio); padding-top:1.1rem; max-width:48rem; }
.testata h1{ font-size:clamp(2.3rem,6.5vw,4.6rem); }
.testata h2{ font-size:clamp(2rem,5.4vw,3.7rem); }
.testa{
  position:fixed; top:0; left:0; right:0; z-index:80;
  background:linear-gradient(180deg, rgba(23,9,11,.72), rgba(23,9,11,.42));
  backdrop-filter:blur(18px) saturate(1.35);
  -webkit-backdrop-filter:blur(18px) saturate(1.35);
  border-bottom:1px solid transparent;
  transition:background .5s var(--ease), border-color .5s var(--ease);
}
.testa.densa{
  background:linear-gradient(180deg, rgba(23,9,11,.94), rgba(23,9,11,.86));
  border-bottom-color:var(--linea-2);
}
.testa__riga{ display:flex; align-items:center; gap:1rem; height:var(--testa); }
.banner{
  position:fixed; top:var(--testa); left:0; right:0; z-index:79;
  height:var(--banner); overflow:hidden;
  background:rgba(46,18,20,.5);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  border-bottom:1px solid var(--linea-2);
  display:flex; align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.banner__nastro{ display:flex; flex:0 0 auto; white-space:nowrap; animation:nastro 46s linear infinite; }
.banner:hover .banner__nastro{ animation-play-state:paused; }
.banner__nastro > span{
  font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--testo-2); padding-inline:1.1rem; flex:0 0 auto;
}
.banner__nastro > span::after{ content:"·"; color:var(--rossiccio); margin-left:2.2rem; }
.banner__nastro > span.forte{ color:var(--rosa); }
@keyframes nastro{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.logo{ display:flex; align-items:center; gap:.6rem; text-decoration:none; flex:0 0 auto; }
.logo svg{ width:28px; height:28px; display:block; }
.logo b{ font-family:var(--display); font-stretch:66%; font-weight:800; text-transform:uppercase; font-size:1.05rem; letter-spacing:.01em; white-space:nowrap; }
.logo i{ display:none; font-style:normal; font-family:var(--mono); font-size:.55rem; letter-spacing:.2em; color:var(--testo-3); text-transform:uppercase; }
@media (min-width:1120px){ .logo i{ display:block; border-left:1px solid var(--linea); padding-left:.6rem; margin-left:.1rem; } }
.menu{ display:none; gap:.05rem; margin-left:auto; }
@media (min-width:820px){ .menu{ display:flex; } }
.menu a{
  font-family:var(--mono); font-size:.665rem; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; color:var(--testo-2); padding:.55rem .62rem; position:relative;
  white-space:nowrap; transition:color .3s var(--ease);
}
.menu a::after{ content:""; position:absolute; left:.62rem; right:.62rem; bottom:.28rem; height:1px; background:var(--rossiccio); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.menu a:hover{ color:var(--carta); }
.menu a:hover::after{ transform:scaleX(1); }
.menu a[aria-current="page"]{ color:var(--carta); }
.menu a[aria-current="page"]::after{ transform:scaleX(1); }
.ig{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--carta); text-decoration:none; border:1px solid var(--linea);
  padding:.5rem .8rem; margin-left:.75rem; white-space:nowrap;
  transition:all .3s var(--ease); display:none;
}
@media (min-width:820px){ .ig{ display:block; } }
.ig:hover{ background:var(--rossiccio); border-color:var(--rossiccio); }
.hamb{ margin-left:auto; background:none; border:1px solid var(--linea); color:var(--carta); padding:.5rem .75rem; cursor:pointer; font-family:var(--mono); font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; }
@media (min-width:820px){ .hamb{ display:none; } }
.progresso{ position:fixed; left:0; right:0; top:calc(var(--testa) + var(--banner) - 2px); z-index:81; height:2px; background:transparent; pointer-events:none; }
.progresso i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--granata),var(--rossiccio),var(--rosa)); box-shadow:0 0 10px rgba(193,75,61,.6); }
.cassetto{
  position:fixed; inset:0; z-index:85; background:var(--ink);
  padding:calc(var(--alto) + 2rem) var(--gut) 2rem;
  display:flex; flex-direction:column; gap:.2rem;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
}
.cassetto.aperto{ opacity:1; visibility:visible; transform:none; }
.cassetto a{
  font-family:var(--display); font-stretch:66%; font-weight:800; text-transform:uppercase;
  font-size:2rem; line-height:1.15; text-decoration:none; color:var(--testo);
  padding:.5rem 0; border-bottom:1px solid var(--linea-2);
}
.cassetto a[aria-current="page"]{ color:var(--rossiccio); }
.cassetto .dida{ margin-top:auto; }
.hero{ position:relative; overflow:hidden; padding:clamp(2rem,5vh,3.5rem) 0 clamp(2.5rem,6vh,4.5rem); }
.hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(120% 75% at 10% -15%, rgba(138,37,48,.38), transparent 60%),
    radial-gradient(80% 60% at 96% 112%, rgba(193,75,61,.16), transparent 58%);
}
.hero > *{ position:relative; }
.protocollo{
  display:flex; flex-wrap:wrap;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--testo-3); font-variant-numeric:tabular-nums;
  border-top:1px solid var(--linea); border-bottom:1px solid var(--linea);
}
.protocollo span{ padding:.55rem 1.1rem; border-right:1px solid var(--linea-2); }
.protocollo span:first-child{ padding-left:0; color:var(--rossiccio); }
.protocollo span:last-child{ border-right:0; }
.rigone{ position:relative; height:1px; background:var(--linea); margin:clamp(1.2rem,3vw,2rem) 0 clamp(1.6rem,3.5vw,2.4rem); }
.rigone i{ position:absolute; inset:0; background:var(--rossiccio); transform:scaleX(0); transform-origin:left; }
.att .rigone i{ animation:tira 1.3s var(--ease) .8s forwards; }
@keyframes tira{ to{ transform:scaleX(1); } }
.colophon{ display:grid; gap:2.2rem; }
@media (min-width:920px){ .colophon{ grid-template-columns:1.12fr .88fr; gap:clamp(2.5rem,5vw,4.5rem); } }
.patto-breve{ list-style:none; margin:0; padding:0; }
.patto-breve li{ display:grid; grid-template-columns:2.1rem 1fr; gap:.15rem .9rem; padding:.9rem 0; border-top:1px solid var(--linea-2); }
.patto-breve li:last-child{ border-bottom:1px solid var(--linea-2); }
.patto-breve span{ font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; color:var(--rossiccio); padding-top:.2rem; }
.patto-breve b{ font-family:var(--display); font-stretch:68%; font-weight:800; text-transform:uppercase; font-size:1.06rem; line-height:1.1; }
.patto-breve em{ grid-column:2; font-style:normal; font-size:.85rem; color:var(--testo-3); }
.patto-breve li:last-child b{ color:var(--rosa); }
.ed{ display:grid; gap:1.4rem; }
@media (min-width:1000px){ .ed{ grid-template-columns:152px minmax(0,1fr); gap:0 clamp(2.5rem,4vw,3.8rem); } }
.margine{ display:flex; gap:.9rem; align-items:baseline; flex-wrap:wrap; border-top:2px solid var(--rossiccio); padding-top:.7rem; }
@media (min-width:1000px){ .margine{ flex-direction:column; gap:.5rem; position:sticky; top:calc(var(--alto) + 2rem); align-items:stretch; } }
.margine__n{ font-family:var(--display); font-stretch:68%; font-weight:800; font-size:1.4rem; line-height:1; color:var(--rossiccio); }
.margine__e{ font-family:var(--mono); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--testo-2); }
.margine__nota{ font-family:var(--mono); font-size:.59rem; line-height:1.8; letter-spacing:.07em; text-transform:uppercase; color:var(--testo-3); }
@media (max-width:999px){ .margine__nota{ width:100%; } }
.ed__corpo > h2{ font-size:clamp(1.85rem,4.4vw,3.1rem); margin-bottom:1rem; }
.ed__corpo > .intro{ margin-bottom:clamp(1.6rem,3.5vw,2.4rem); }
.registro{ border-top:1px solid var(--linea); }
.reg{
  position:relative; display:grid; gap:.35rem 1.2rem; align-items:baseline;
  grid-template-columns:3.4rem minmax(0,1fr); padding:1.15rem 0;
  border-bottom:1px solid var(--linea-2); text-decoration:none; color:var(--testo);
  transition:background .4s var(--ease), padding-left .4s var(--ease);
}
@media (min-width:900px){
  .reg{ grid-template-columns:3.4rem minmax(0,1fr) 11rem 7.5rem 1.4rem; align-items:center; }
}
.reg:hover{ background:linear-gradient(90deg, rgba(193,75,61,.14), transparent 65%); padding-left:.7rem; }
.reg__n{ font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; color:var(--rossiccio); font-variant-numeric:tabular-nums; }
.reg__t{ font-family:var(--display); font-stretch:68%; font-weight:800; text-transform:uppercase; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.06; }
.reg__f,.reg__d{ font-family:var(--mono); font-size:.62rem; letter-spacing:.11em; text-transform:uppercase; color:var(--testo-3); font-variant-numeric:tabular-nums; }
@media (max-width:899px){ .reg__f,.reg__d{ grid-column:2; } .reg__v{ display:none; } }
.reg__v{ font-family:var(--mono); font-size:.8rem; color:var(--testo-3); text-align:right; transition:color .35s var(--ease), transform .35s var(--ease); }
.reg:hover .reg__v{ color:var(--rossiccio); transform:translateX(3px); }
.reg__ante{
  position:absolute; right:2.6rem; top:50%; width:84px; z-index:3;
  transform:translateY(-50%) scale(.94) rotate(-1.5deg); transform-origin:right center;
  opacity:0; pointer-events:none; border:1px solid var(--linea);
  box-shadow:0 20px 40px -20px rgba(0,0,0,.95);
  transition:opacity .35s var(--ease), transform .35s var(--ease);
}
@media (min-width:900px){ .reg:hover .reg__ante{ opacity:1; transform:translateY(-50%) scale(1) rotate(-1.5deg); } }
@media (max-width:899px){ .reg__ante{ display:none; } }
.evid{
  display:grid; gap:0; text-decoration:none; color:var(--testo);
  border:1px solid var(--linea); overflow:hidden;
  transition:border-color .5s var(--ease);
}
@media (min-width:820px){ .evid{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); } }
.evid:hover{ border-color:rgba(193,75,61,.6); }
.evid__img{ overflow:hidden; background:var(--vinaccia-2); aspect-ratio:4/5; }
@media (min-width:820px){ .evid__img{ aspect-ratio:auto; height:100%; } }
.evid__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s var(--ease); }
.evid:hover .evid__img img{ transform:scale(1.04); }
.evid__txt{ padding:clamp(1.4rem,3.2vw,2.4rem); display:flex; flex-direction:column; gap:1rem; }
.evid__txt h3{ font-size:clamp(1.5rem,3vw,2.1rem); }
.evid__txt p{ font-family:var(--serif); font-size:1.02rem; line-height:1.6; color:var(--testo-2); }
.linkino{ margin-top:auto; font-family:var(--mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--rossiccio); }
.evid:hover .linkino{ color:var(--carta); }
.ecg{ width:100%; display:block; height:auto; margin-bottom:clamp(1.2rem,3.5vh,2.4rem); }
.ecg path{ fill:none; stroke-linecap:round; stroke-linejoin:round; }
.ecg .tracciato{ stroke:var(--rossiccio); stroke-width:3; filter:drop-shadow(0 0 10px rgba(193,75,61,.5)); }
.ecg .base{ stroke:rgba(233,180,172,.08); stroke-width:1; }
.ecg .pallino{ fill:var(--carta); opacity:0; filter:drop-shadow(0 0 8px rgba(247,237,233,.9)); }
.marca{
  font-family:var(--display); font-weight:800; font-stretch:62%; text-transform:uppercase;
  font-size:clamp(3rem,12.5vw,11rem); line-height:.82; letter-spacing:-.018em; margin:0 0 1.3rem;
}
.marca span{ display:block; overflow:hidden; }
.marca span > i{ display:block; font-style:normal; transform:translateY(105%); }
.marca .rosso > i{ color:var(--rossiccio); }
.claim{ font-family:var(--serif); font-style:italic; font-size:clamp(1.1rem,2.6vw,1.8rem); line-height:1.42; color:var(--carta); max-width:30ch; margin-bottom:1.3rem; }
.hero__sotto{ max-width:46ch; color:var(--testo-2); }
.hero__meta{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem; }
.pill{ font-family:var(--mono); font-size:.63rem; letter-spacing:.15em; text-transform:uppercase; border:1px solid var(--linea); padding:.42rem .7rem; color:var(--testo-2); }
.pill--pieno{ background:var(--rossiccio); border-color:var(--rossiccio); color:var(--carta); }
.att .marca span > i{ animation:sale .95s var(--ease) forwards; }
.att .marca span:nth-child(1) > i{ animation-delay:.45s; }
.att .marca span:nth-child(2) > i{ animation-delay:.58s; }
@keyframes sale{ to{ transform:translateY(0); } }
.att .claim,.att .hero__sotto,.att .patto-breve,.att .protocollo{ opacity:0; animation:entra .9s var(--ease) forwards; }
.att .protocollo{ animation-delay:.15s; } .att .claim{ animation-delay:.95s; } .att .hero__sotto{ animation-delay:1.05s; } .att .patto-breve{ animation-delay:1.15s; }
@keyframes entra{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none; } }
.banda{ border-top:1px solid var(--linea-2); }
.banda--scura{ background:var(--vinaccia); }
.duo{ display:grid; gap:clamp(1.8rem,4.5vw,3.5rem); align-items:start; }
@media (min-width:900px){ .duo{ grid-template-columns:1.1fr .9fr; } }
.foglio{
  background:var(--carta); color:#3A1C1E; padding:clamp(1.5rem,3.8vw,2.5rem);
  border-top:5px solid var(--rossiccio); box-shadow:0 26px 60px -32px rgba(0,0,0,.85); position:relative;
}
.foglio h3{ color:#2E1214; font-size:clamp(1.3rem,2.5vw,1.8rem); margin-bottom:.85rem; }
.foglio .prosa{ color:#4C2C2E; } .foglio .prosa strong{ color:#8A2530; } .foglio .dida{ color:#9B7A76; }
.timbro{
  position:absolute; top:clamp(1.1rem,3vw,1.7rem); right:clamp(1.1rem,3vw,1.7rem);
  font-family:var(--mono); font-size:.58rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--rossiccio); border:1px solid rgba(193,75,61,.45); padding:.28rem .5rem; transform:rotate(-3deg);
}
.tabella{ display:grid; gap:1px; background:var(--linea); border:1px solid var(--linea); }
.tabella > div{ background:var(--ink); padding:1.25rem 1.35rem; }
.banda--scura .tabella > div{ background:var(--vinaccia); }
.tabella b{ display:block; font-family:var(--display); font-stretch:68%; font-weight:800; text-transform:uppercase; font-size:1.25rem; line-height:1.05; margin-bottom:.4rem; }
.tabella p{ font-size:.94rem; color:var(--testo-2); }
.tabella .rosa b{ color:var(--rosa); }
.tabella .acc b{ color:var(--rossiccio); }
.btn{
  display:inline-flex; align-items:center; gap:.6rem; text-decoration:none;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase;
  padding:.85rem 1.4rem; border:1px solid var(--linea); color:var(--carta);
  transition:all .35s var(--ease); background:transparent; cursor:pointer;
}
.btn:hover{ background:var(--carta); color:var(--vinaccia); border-color:var(--carta); }
.btn--pieno{ background:var(--rossiccio); border-color:var(--rossiccio); }
.btn--pieno:hover{ background:var(--carta); border-color:var(--carta); }
.griglia{ display:grid; gap:clamp(.9rem,2.2vw,1.5rem); }
@media (min-width:720px){ .griglia{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1080px){ .griglia--3{ grid-template-columns:repeat(3,1fr); } }
.card{
  display:flex; flex-direction:column; text-decoration:none; color:var(--testo);
  background:var(--vinaccia); border:1px solid var(--linea); overflow:hidden;
  transition:transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
}
.banda--scura .card{ background:var(--ink); }
.card:hover{ transform:translateY(-6px); border-color:rgba(193,75,61,.55); box-shadow:0 30px 55px -34px rgba(0,0,0,.95); }
.card__cop{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--vinaccia-2); }
.card__cop img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s var(--ease); }
.card:hover .card__cop img{ transform:scale(1.045); }
.card__cop::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(23,9,11,.88)); }
.card__n{ position:absolute; top:0; left:0; z-index:2; font-family:var(--mono); font-size:.62rem; letter-spacing:.17em; text-transform:uppercase; background:var(--rossiccio); color:var(--carta); padding:.38rem .65rem; }
.card__vai{ position:absolute; z-index:2; right:.75rem; bottom:.75rem; font-family:var(--mono); font-size:.59rem; letter-spacing:.15em; text-transform:uppercase; color:var(--carta); border:1px solid rgba(247,237,233,.4); padding:.32rem .55rem; background:rgba(23,9,11,.45); backdrop-filter:blur(3px); transition:all .35s var(--ease); }
.card:hover .card__vai{ background:var(--carta); color:var(--vinaccia); border-color:var(--carta); }
.card__corpo{ padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.card__corpo h3{ font-size:1.38rem; line-height:1.03; }
.card__corpo p{ font-size:.92rem; color:var(--testo-2); }
.card__pie{ margin-top:auto; padding-top:.8rem; border-top:1px solid var(--linea-2); }
.riga-f{
  display:grid; gap:1.1rem; grid-template-columns:84px 1fr; align-items:start;
  text-decoration:none; color:var(--testo); padding:1.35rem 0; border-bottom:1px solid var(--linea-2);
  transition:opacity .3s var(--ease);
}
@media (min-width:760px){ .riga-f{ grid-template-columns:110px 1fr auto; gap:1.8rem; align-items:center; } }
.riga-f:hover{ background:linear-gradient(90deg,rgba(193,75,61,.09),transparent 60%); }
.riga-f img{ width:100%; aspect-ratio:4/5; object-fit:cover; border:1px solid var(--linea); display:block; }
.riga-f h3{ font-size:clamp(1.2rem,2.6vw,1.65rem); margin-bottom:.35rem; }
.riga-f p{ font-size:.93rem; color:var(--testo-2); max-width:52ch; }
.riga-f__vai{ font-family:var(--mono); font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:var(--rossiccio); white-space:nowrap; }
.filtri{ display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.5rem; }
.filtro{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase;
  background:transparent; border:1px solid var(--linea); color:var(--testo-2);
  padding:.45rem .8rem; cursor:pointer; transition:all .3s var(--ease);
}
.filtro:hover{ color:var(--carta); border-color:var(--rosa); }
.filtro[aria-pressed="true"]{ background:var(--rossiccio); border-color:var(--rossiccio); color:var(--carta); }
.briciole{ display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; font-family:var(--mono); font-size:.63rem; letter-spacing:.13em; text-transform:uppercase; color:var(--testo-3); padding-top:1.6rem; }
.briciole a{ text-decoration:none; color:var(--testo-2); }
.briciole a:hover{ color:var(--rossiccio); }
.art__testa{ padding-block:clamp(1.2rem,3vw,2rem) clamp(1.8rem,4vw,2.6rem); border-top:2px solid var(--rossiccio); border-bottom:1px solid var(--linea); }
.art__testa h1{ font-size:clamp(2.1rem,6vw,4.4rem); margin:.9rem 0 1rem; max-width:20ch; }
.art__somm{ font-family:var(--serif); font-size:clamp(1.08rem,2.2vw,1.35rem); line-height:1.55; color:var(--carta); max-width:58ch; }
.art__meta{ display:flex; flex-wrap:wrap; gap:.4rem .5rem; margin-top:1.6rem; }
.art{ display:grid; gap:clamp(2rem,5vw,3.5rem); padding-block:clamp(2.2rem,5vw,3.5rem); }
@media (min-width:1000px){ .art{ grid-template-columns:minmax(0,1fr) 320px; } }
.corpo h2{ font-size:clamp(1.5rem,3.2vw,2.1rem); margin:2.4rem 0 .9rem; }
.corpo h2:first-child{ margin-top:0; }
.corpo p{ font-family:var(--serif); font-size:1.14rem; line-height:1.72; color:var(--testo-2); max-width:38rem; }
.corpo p + p{ margin-top:1.05em; }
.corpo strong{ color:var(--carta); font-weight:600; }
.citazione{ border-left:3px solid var(--rossiccio); padding:.3rem 0 .3rem 1.4rem; margin:2rem 0; max-width:38rem; }
.citazione blockquote{ margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(1.15rem,2.3vw,1.42rem); line-height:1.48; color:var(--carta); }
.citazione .dida{ margin-top:.8rem; }
.dato{ background:var(--granata); padding:clamp(1.5rem,3.6vw,2.3rem); margin:2.2rem 0; max-width:38rem; }
.dato .eyebrow{ color:var(--rosa); }
.dato b{ display:block; font-family:var(--display); font-stretch:62%; font-weight:800; text-transform:uppercase; font-size:clamp(2.6rem,7vw,4.4rem); line-height:.88; color:var(--carta); margin:.5rem 0 .8rem; }
.dato p{ font-family:var(--sans); font-size:1rem; color:#F5DAD6; max-width:none; }
.dato .dida{ color:rgba(245,218,214,.7); margin-top:1rem; }
.avviso{ border:1px solid var(--linea); border-left:3px solid var(--rosa); padding:1.1rem 1.3rem; margin:2rem 0; max-width:38rem; }
.avviso p{ font-family:var(--sans); font-size:.96rem; color:var(--testo-2); max-width:none; }
.lato{ display:flex; flex-direction:column; gap:1.6rem; align-self:start; }
@media (min-width:1000px){ .lato{ position:sticky; top:calc(var(--alto) + 1.5rem); } }
.scheda{ border:1px solid var(--linea); background:var(--vinaccia); padding:1.3rem 1.35rem; display:flex; flex-direction:column; gap:1rem; }
.scheda h4{ font-size:1.05rem; }
.dato-riga{ display:flex; flex-direction:column; gap:.12rem; }
.dato-riga span{ font-family:var(--mono); font-size:.58rem; letter-spacing:.17em; text-transform:uppercase; color:var(--rossiccio); }
.dato-riga b{ font-size:.9rem; font-weight:500; color:var(--carta); line-height:1.45; }
.visore{ border:1px solid var(--linea); background:var(--vinaccia); }
.visore__testa{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; border-bottom:1px solid var(--linea); }
.visore__palco{ position:relative; background:var(--ink); display:flex; align-items:center; justify-content:center; padding:1rem; }
.visore__palco img{ display:block; width:100%; max-width:420px; height:auto; box-shadow:0 22px 46px -26px rgba(0,0,0,.9); }
.frec{ position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; display:grid; place-items:center; background:rgba(23,9,11,.75); border:1px solid var(--linea); color:var(--carta); cursor:pointer; font-size:1rem; transition:all .3s var(--ease); backdrop-filter:blur(4px); }
.frec:hover:not(:disabled){ background:var(--rossiccio); border-color:var(--rossiccio); }
.frec:disabled{ opacity:.2; cursor:default; }
.frec--p{ left:.6rem; } .frec--s{ right:.6rem; }
.mini{ display:flex; gap:.4rem; padding:.75rem 1rem; overflow-x:auto; border-top:1px solid var(--linea); }
.mini button{ flex:0 0 auto; width:44px; padding:0; border:1px solid var(--linea); background:none; cursor:pointer; opacity:.45; transition:all .3s var(--ease); }
.mini button img{ display:block; width:100%; height:auto; }
.mini button:hover{ opacity:.85; }
.mini button[aria-current="true"]{ opacity:1; border-color:var(--rossiccio); }
.caption-ig{ font-family:var(--serif); font-size:.95rem; line-height:1.62; color:var(--testo-2); white-space:pre-line; }
.salto{ display:grid; gap:1px; background:var(--linea); border-block:1px solid var(--linea); margin-top:clamp(2rem,5vw,3.5rem); }
@media (min-width:760px){ .salto{ grid-template-columns:1fr 1fr; } }
.salto a{ background:var(--ink); padding:1.5rem 1.6rem; text-decoration:none; display:flex; flex-direction:column; gap:.5rem; transition:background .35s var(--ease); }
.salto a:hover{ background:var(--vinaccia); }
.salto a.avanti{ text-align:right; align-items:flex-end; }
.salto h4{ font-size:1.25rem; line-height:1.06; max-width:24ch; }
.legge{ position:relative; overflow:hidden; }
.legge__num{
  position:absolute; right:-.05em; top:50%; transform:translateY(-50%);
  font-family:var(--display); font-weight:800; font-stretch:62%;
  font-size:clamp(8rem,24vw,24rem); line-height:.75; color:rgba(247,237,233,.035);
  pointer-events:none; user-select:none; transition:color .8s var(--ease);
}
.legge.arma .legge__num{ color:rgba(193,75,61,.13); }
.legge__int{ position:relative; z-index:1; }
.interruttore{ display:inline-flex; border:1px solid var(--linea); background:var(--ink); margin-bottom:1.8rem; position:relative; }
.interruttore i{ position:absolute; top:0; bottom:0; left:0; width:50%; background:var(--rosa); transition:transform .55s var(--ease), background .55s var(--ease); }
.legge.arma .interruttore i{ transform:translateX(100%); background:var(--rossiccio); }
.interruttore button{ position:relative; z-index:1; flex:1 0 auto; font-family:var(--mono); font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; background:none; border:0; cursor:pointer; padding:.75rem 1.1rem; color:var(--testo-3); transition:color .4s var(--ease); min-width:9rem; }
.interruttore button[aria-pressed="true"]{ color:#2E1214; font-weight:600; }
.legge.arma .interruttore button[aria-pressed="true"]{ color:var(--carta); }
.stato{ display:grid; }
.stato > div{ grid-area:1/1; opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity .5s var(--ease), transform .5s var(--ease); }
.stato > div.on{ opacity:1; transform:none; pointer-events:auto; }
.stato h3{ font-size:clamp(1.5rem,3.2vw,2.2rem); margin-bottom:.85rem; }
#voce-prot h3{ color:var(--rosa); } #voce-arma h3{ color:var(--rossiccio); }
.glossario{ display:grid; gap:1px; background:var(--linea); border:1px solid var(--linea); }
@media (min-width:760px){ .glossario{ grid-template-columns:repeat(2,1fr); } }
.voce-g{ background:var(--ink); padding:1.35rem 1.45rem; display:flex; flex-direction:column; gap:.5rem; }
.banda--scura .voce-g{ background:var(--vinaccia); }
.voce-g h3{ font-size:1.2rem; color:var(--carta); }
.voce-g p{ font-size:.95rem; color:var(--testo-2); }
.voci{ display:grid; gap:1px; background:var(--linea); border:1px solid var(--linea); }
@media (min-width:980px){ .voci{ grid-template-columns:repeat(3,1fr); } }
.voce{ background:var(--ink); padding:clamp(1.4rem,3.2vw,2.1rem); display:flex; flex-direction:column; gap:1rem; }
.banda--scura .voce{ background:var(--vinaccia); }
.voce blockquote{ margin:0; font-family:var(--serif); font-style:italic; font-size:clamp(1.05rem,1.9vw,1.22rem); line-height:1.5; color:var(--carta); }
.voce blockquote b{ font-style:normal; font-weight:600; color:var(--rossiccio); }
.voce__chi{ margin-top:auto; }
.voce__chi strong{ display:block; font-family:var(--sans); font-weight:600; font-size:.94rem; color:var(--rosa); margin-bottom:.15rem; }
.voce__apici{ font-family:var(--serif); font-size:2.5rem; line-height:.5; color:var(--rossiccio); height:1rem; }
.voce--forte{ background:var(--granata) !important; }
.voce--forte blockquote b{ color:#FFD9D2; }
.voce--forte .voce__apici{ color:var(--rosa); }
.voce--forte .voce__chi strong{ color:#FFE4DF; }
.voce--forte .dida{ color:rgba(255,228,223,.75); }
.scudo{ background:var(--rosa); color:#3A1416; padding-block:clamp(2.6rem,6vw,4rem); }
.scudo .wrap{ display:grid; gap:1.4rem; align-items:center; }
@media (min-width:860px){ .scudo .wrap{ grid-template-columns:auto 1fr; gap:3rem; } }
.scudo__num{ font-family:var(--display); font-weight:800; font-stretch:62%; font-size:clamp(4.5rem,14vw,10rem); line-height:.78; color:#8A2530; letter-spacing:-.02em; }
.scudo h2{ color:#3A1416; font-size:clamp(1.4rem,2.8vw,2.1rem); margin-bottom:.6rem; }
.scudo p{ font-family:var(--serif); font-size:1.05rem; line-height:1.6; color:#5A2226; max-width:48rem; }
.scudo p + p{ margin-top:.7rem; }
.scudo .dida{ color:#8A2530; margin-top:.9rem; }
.piede{ background:var(--ink); border-top:1px solid var(--linea); padding-block:clamp(2.8rem,6vw,4.2rem) 2rem; }
.piede__alto{ display:grid; gap:2.5rem; }
@media (min-width:900px){ .piede__alto{ grid-template-columns:1.3fr .7fr .7fr; } }
.piede h3{ font-size:clamp(1.5rem,3vw,2.2rem); margin:.7rem 0 .9rem; }
.piede__col{ display:flex; flex-direction:column; gap:.55rem; }
.piede__col a{ font-family:var(--mono); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; text-decoration:none; color:var(--testo-2); transition:color .3s var(--ease); }
.piede__col a:hover{ color:var(--rossiccio); }
.piede__basso{ margin-top:clamp(2.2rem,5vw,3.5rem); padding-top:1.4rem; border-top:1px solid var(--linea-2); display:flex; flex-wrap:wrap; gap:.8rem 2rem; justify-content:space-between; }
.fonti-lista{ display:flex; flex-direction:column; gap:.6rem; margin-top:.8rem; }
.riv{ opacity:0; transform:translateY(9px); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.riv.vista{ opacity:1; transform:none; }
main{ animation:pagina .5s var(--ease); }
@keyframes pagina{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none; } }
body.bloccato{ overflow:hidden; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .riv{ opacity:1; transform:none; transition:none; }
  .att .marca span > i{ animation:none; transform:none; }
  .att .claim,.att .hero__sotto,.att .patto-breve,.att .protocollo{ opacity:1; animation:none; }
  .att .rigone i{ animation:none; transform:scaleX(1); }
  main{ animation:none; }
  .card,.card__cop img{ transition:none; }
  .banner__nastro{ animation:none; }
}
@view-transition{ navigation:auto; }
::view-transition-old(root){ animation:vt-esce .28s var(--ease) both; }
::view-transition-new(root){ animation:vt-entra .42s var(--ease) both; }
@keyframes vt-esce{ to{ opacity:0; transform:translateY(-6px); } }
@keyframes vt-entra{ from{ opacity:0; transform:translateY(10px); } }
.testa{ view-transition-name:testa; }
.banner{ view-transition-name:banner; }
@media (prefers-reduced-motion:reduce){ ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){ animation:none !important; } }
main{ animation:none; }
.salta{ position:absolute; left:var(--gut); top:-60px; z-index:200; background:var(--rossiccio); color:var(--carta); padding:.6rem 1rem; font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; transition:top .25s var(--ease); }
.salta:focus{ top:.6rem; }
.btn{ position:relative; overflow:hidden; isolation:isolate; }
.btn .fr{ display:inline-block; transition:transform .35s var(--ease); }
.btn:hover .fr{ transform:translateX(4px); }
.btn--pieno::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%); transform:translateX(-100%); transition:transform .8s var(--ease); }
.btn--pieno:hover::before{ transform:translateX(100%); }
.hero{ padding-bottom:clamp(3rem,8vh,6rem); }
.hero__foto{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:var(--foto) center 35%/cover no-repeat;
  filter:grayscale(1) contrast(1.15) brightness(.55); mix-blend-mode:luminosity; opacity:.14;
  -webkit-mask-image:radial-gradient(85% 70% at 75% 30%,#000 10%,transparent 72%);
  mask-image:radial-gradient(85% 70% at 75% 30%,#000 10%,transparent 72%);
}
.hero__griglia{ display:grid; gap:2.5rem; align-items:end; }
@media (min-width:1240px){ .hero__griglia{ grid-template-columns:minmax(0,1fr) 340px; gap:clamp(2rem,4vw,4rem); } .hero__griglia .marca{ font-size:clamp(5rem,8.4vw,9.6rem); } }
.pila{ position:relative; height:clamp(330px,40vw,470px); max-width:380px; width:100%; margin-inline:auto; perspective:1400px; display:none; }
@media (min-width:1240px){ .pila{ display:block; } }
.pila a{
  position:absolute; inset:0 auto auto 50%; width:72%; aspect-ratio:4/5;
  transform-origin:50% 85%; text-decoration:none;
  box-shadow:0 40px 70px -30px rgba(0,0,0,.95), 0 0 0 1px rgba(233,180,172,.14);
  transition:transform .9s var(--ease), box-shadow .6s var(--ease);
  opacity:0;
}
.pila a img{ display:block; width:100%; height:100%; object-fit:cover; }
.pila a:nth-child(1){ transform:translateX(-50%) translate(-34%,6%) rotate(-9deg); z-index:1; }
.pila a:nth-child(2){ transform:translateX(-50%) translate(30%,3%) rotate(7deg); z-index:2; }
.pila a:nth-child(3){ transform:translateX(-50%) rotate(-1.5deg); z-index:3; }
.pila:hover a:nth-child(1){ transform:translateX(-50%) translate(-52%,8%) rotate(-13deg); }
.pila:hover a:nth-child(2){ transform:translateX(-50%) translate(48%,5%) rotate(11deg); }
.pila a:hover{ box-shadow:0 50px 80px -30px rgba(0,0,0,1), 0 0 0 1px var(--rossiccio); z-index:5; }
.pila__eti{ position:absolute; left:0; right:0; bottom:-2.2rem; text-align:center; }
.att .pila a{ animation:posa .9s var(--ease) forwards; }
.att .pila a:nth-child(1){ animation-delay:.9s; } .att .pila a:nth-child(2){ animation-delay:1.02s; } .att .pila a:nth-child(3){ animation-delay:1.14s; }
@keyframes posa{ from{ opacity:0; translate:0 -24px; } to{ opacity:1; translate:0 0; } }
.cifre{ display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--linea); border-bottom:1px solid var(--linea); margin-top:clamp(2.2rem,5vw,3.5rem); }
@media (min-width:860px){ .cifre{ grid-template-columns:repeat(4,1fr); } }
.cifra{ padding:1.15rem 1.1rem 1.2rem 0; border-right:1px solid var(--linea-2); }
.cifra:nth-child(2n){ padding-left:1.1rem; }
@media (min-width:860px){ .cifra{ padding-left:1.1rem; } .cifra:first-child{ padding-left:0; } }
.cifra:last-child{ border-right:0; }
@media (max-width:859px){ .cifra:nth-child(2){ border-right:0; } .cifra:nth-child(-n+2){ border-bottom:1px solid var(--linea-2); } }
.cifra b{ display:block; font-family:var(--display); font-stretch:62%; font-weight:800; font-size:clamp(2.2rem,5vw,3.2rem); line-height:.9; color:var(--carta); font-variant-numeric:tabular-nums; }
.cifra b em{ font-style:normal; color:var(--rossiccio); }
.cifra span{ display:block; margin-top:.45rem; font-family:var(--mono); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--testo-3); line-height:1.6; }
.pilastri{ display:grid; gap:1px; background:var(--linea); border:1px solid var(--linea); }
@media (min-width:700px){ .pilastri{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1080px){ .pilastri{ grid-template-columns:repeat(5,1fr); } }
.pil{ position:relative; overflow:hidden; background:var(--ink); padding:1.4rem 1.3rem 1.5rem; min-height:15rem; display:flex; flex-direction:column; gap:.6rem; text-decoration:none; color:var(--testo); isolation:isolate; }
.banda--scura .pil{ background:var(--vinaccia); }
.pil::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--foto) center/cover; filter:grayscale(1) contrast(1.2); opacity:0; transition:opacity .7s var(--ease), transform 1.4s var(--ease); transform:scale(1.08); }
.pil::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(46,18,20,.55),rgba(138,37,48,.92)); opacity:0; transition:opacity .7s var(--ease); }
.pil:hover::before{ opacity:.55; transform:none; } .pil:hover::after{ opacity:1; }
.pil__n{ font-family:var(--mono); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--rossiccio); transition:color .5s var(--ease); }
.pil:hover .pil__n{ color:var(--rosa); }
.pil h3{ font-size:1.45rem; }
.pil p{ font-size:.9rem; color:var(--testo-2); }
.pil:hover p{ color:#F5DAD6; }
.pil__c{ margin-top:auto; font-family:var(--mono); font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:var(--testo-3); }
.pil:hover .pil__c{ color:var(--carta); }
.art__testa{ display:grid; gap:2rem; align-items:end; }
@media (min-width:1000px){ .art__testa{ grid-template-columns:minmax(0,1fr) 260px; } }
.art__cop{ display:none; position:relative; }
@media (min-width:1000px){ .art__cop{ display:block; } }
.art__cop img{ display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; transform:rotate(1.6deg); box-shadow:0 36px 60px -28px rgba(0,0,0,.95), 0 0 0 1px var(--linea); }
.art__cop .timbro{ position:absolute; top:auto; bottom:-1rem; left:-1.2rem; right:auto; background:var(--ink); }
.corpo > p:first-of-type::first-letter{
  float:left; font-family:var(--display); font-stretch:62%; font-weight:800; font-size:4.6em; line-height:.78;
  margin:.08em .12em 0 0; color:var(--rossiccio);
}
.corpo h2{ scroll-margin-top:calc(var(--alto) + 1.5rem); }
.indice{ border:1px solid var(--linea); padding:1.1rem 1.35rem; display:flex; flex-direction:column; gap:.15rem; }
.indice h4{ font-size:1.05rem; margin-bottom:.5rem; }
.indice a{ font-family:var(--mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:var(--testo-3); padding:.38rem 0 .38rem .8rem; border-left:1px solid var(--linea); transition:all .3s var(--ease); }
.indice a:hover{ color:var(--carta); }
.indice a.qui{ color:var(--carta); border-left:2px solid var(--rossiccio); padding-left:calc(.8rem - 1px); }
.condividi{ display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid var(--linea); }
.condividi .dida{ margin-right:.6rem; }
.condividi button,.condividi a{ font-family:var(--mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--testo-2); background:none; border:1px solid var(--linea); padding:.5rem .8rem; cursor:pointer; text-decoration:none; transition:all .3s var(--ease); }
.condividi button:hover,.condividi a:hover{ color:var(--carta); border-color:var(--rossiccio); background:rgba(193,75,61,.12); }
.visore__palco img{ cursor:zoom-in; }
.visore__palco{ touch-action:pan-y; }
.lb{ position:fixed; inset:0; z-index:150; background:rgba(15,6,7,.94); backdrop-filter:blur(10px); display:grid; grid-template-rows:auto 1fr auto; opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s; }
.lb.aperto{ opacity:1; visibility:visible; }
.lb__testa{ display:flex; justify-content:space-between; align-items:center; padding:1rem var(--gut); }
.lb__chiudi{ font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--carta); background:none; border:1px solid var(--linea); padding:.5rem .8rem; cursor:pointer; }
.lb__palco{ display:flex; align-items:center; justify-content:center; padding:0 var(--gut); min-height:0; touch-action:pan-y; }
.lb__palco img{ max-height:100%; max-width:100%; width:auto; height:auto; aspect-ratio:4/5; box-shadow:0 40px 90px -30px #000; transition:opacity .25s var(--ease); }
.lb__piede{ display:flex; justify-content:center; gap:.6rem; padding:1rem; }
.lb__piede button{ width:46px; height:46px; background:rgba(46,18,20,.8); border:1px solid var(--linea); color:var(--carta); cursor:pointer; font-size:1rem; }
.lb__piede button:hover:not(:disabled){ background:var(--rossiccio); border-color:var(--rossiccio); }
.lb__piede button:disabled{ opacity:.25; cursor:default; }
.cerca{ position:relative; margin-bottom:1rem; max-width:30rem; }
.cerca input{ width:100%; background:transparent; border:0; border-bottom:1px solid var(--linea); color:var(--carta); font-family:var(--serif); font-size:1.2rem; padding:.7rem 0 .7rem 2rem; outline:none; transition:border-color .3s var(--ease); }
.cerca input::placeholder{ color:var(--testo-3); font-style:italic; }
.cerca input:focus{ border-bottom-color:var(--rossiccio); }
.cerca svg{ position:absolute; left:0; top:50%; transform:translateY(-50%); width:18px; height:18px; stroke:var(--testo-3); fill:none; stroke-width:1.6; }
.vuoto{ padding:2rem 0; font-family:var(--serif); font-style:italic; color:var(--testo-3); }
.piede__marca{
  display:block; margin:clamp(2rem,5vw,3rem) 0 0; overflow:hidden;
  font-family:var(--display); font-weight:800; font-stretch:62%; text-transform:uppercase;
  font-size:clamp(2.4rem,13vw,10.2rem); line-height:.8; letter-spacing:-.02em; white-space:nowrap;
  color:transparent; -webkit-text-stroke:1px rgba(233,180,172,.22);
  user-select:none;
}
.piede__marca span{ color:rgba(193,75,61,.85); -webkit-text-stroke:0; }
.corpo ul{ font-family:var(--serif); font-size:1.08rem; line-height:1.7; color:var(--testo-2); max-width:38rem; padding-left:1.2rem; margin:1rem 0; }
.corpo a{ color:var(--rosa); text-underline-offset:3px; }
.da-completare{ background:rgba(233,180,172,.18); color:var(--rosa); padding:0 .3em; font-style:normal; }
@media (prefers-reduced-motion:reduce){
  .pila a{ opacity:1; animation:none !important; }
  .pil::before,.pil::after{ transition:none; }
}
.folio{ -webkit-mask-image:none; mask-image:none; display:block; }
.folio__riga{ display:flex; align-items:center; justify-content:space-between; gap:1rem; height:100%;
  font-family:var(--serif); font-style:italic; font-size:.82rem; color:var(--testo-2); }
.folio__riga a{ font-style:normal; font-family:var(--sans); font-weight:600; font-size:.78rem; color:var(--rosa); text-decoration:none; }
.folio__c{ display:none; }
@media (min-width:760px){ .folio__c{ display:block; font-style:normal; font-family:var(--sans); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--testo-3); } }
h1,h2,h3,h4,.reg__t,.patto-breve b,.tabella b,.voce-g h3,.pil h3{
  font-family:var(--serif); font-weight:700; font-stretch:normal; text-transform:none;
  letter-spacing:-.015em; line-height:1.06; font-variation-settings:"opsz" 60;
}
.testata h1{ font-size:clamp(2.4rem,6vw,4.2rem); }
.testata h2,.ed__corpo > h2{ font-size:clamp(2rem,4.6vw,3.2rem); }
.art__testa h1{ font-size:clamp(2.2rem,5.4vw,4rem); max-width:22ch; }
.corpo h2{ font-size:clamp(1.5rem,3vw,2rem); }
.reg__t{ font-size:clamp(1.1rem,2vw,1.35rem); line-height:1.2; }
.card__corpo h3,.evid__txt h3{ line-height:1.12; }
.patto-breve b{ font-size:1.12rem; }
.tabella b{ font-size:1.3rem; }
.scudo h2{ font-size:clamp(1.5rem,3vw,2.2rem); }
.piede h3{ font-size:clamp(1.7rem,3.2vw,2.4rem); }
.foglio h3{ font-size:clamp(1.4rem,2.6vw,1.9rem); }
.stato h3{ font-size:clamp(1.6rem,3.2vw,2.3rem); }
.pil h3{ font-size:1.4rem; }
.voce-g h3{ font-size:1.22rem; }
.salto h4{ font-size:1.2rem; line-height:1.15; }
.scheda h4,.indice h4{ font-size:1.1rem; }
.claim{ font-size:clamp(1.15rem,2.4vw,1.7rem); }
.eyebrow{ letter-spacing:.14em; }
body::after{ opacity:.12; }
