/*orizon-temi-rossi*/
/* ===== Orizon — stile delle pagine interne ===== */
:root{
  --white:#FFFDFD; --black:#17171A; --blue:#8B1A2B; --blue-d:#5E0F1B;
  --grey:#616162; --lgrey:#B1B1B1; --pale:#F8F1F2; --su-blu:#FFFDFD;
  --mono:'JetBrains Mono','SF Mono',Consolas,monospace;
  --disp:'Unbounded','Arial Black',sans-serif;
  --doto:'Doto','JetBrains Mono',monospace;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
:root:not([data-theme="dark"]){color-scheme:light}
:root[data-theme="dark"]{
  --white:#0E0E12; --black:#F2F2F4; --pale:#1A1416;
  --grey:#9A9AA2; --lgrey:#5A5A63; --blue:#EE2229; --blue-d:#B8141C;
  color-scheme:dark}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --white:#0E0E12; --black:#F2F2F4; --pale:#1A1416;
    --grey:#9A9AA2; --lgrey:#5A5A63; --blue:#EE2229; --blue-d:#B8141C;
    color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
html{font-size:clamp(10px,.83vw,16px);scroll-behavior:smooth}
@media(max-width:991px){html{font-size:13px}}
@media(max-width:767px){html{font-size:12px}}
@media(max-width:479px){html{font-size:11px}}
body{margin:0;background:var(--white);color:var(--black);font-family:var(--mono);
  font-size:1.125rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  transition:background-color .35s ease,color .35s ease}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
h1,h2,h3{font-family:var(--disp);font-weight:500;letter-spacing:-.02em;line-height:1.08;margin:0}
p{margin:0 0 1.25rem}
ul{margin:0 0 1.25rem;padding-left:1.4rem}
li{margin-bottom:.5rem}

/* sfondo a puntini */
.sfondo{position:fixed;inset:0 0 auto;height:100vh;width:100%;z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 64%,#0000 100%);
  mask-image:linear-gradient(180deg,#000 0,#000 64%,#0000 100%)}
.punti{position:absolute;inset:0;
  background-image:radial-gradient(color-mix(in srgb,var(--black) 12%,transparent) 1px,transparent 1px);
  background-size:1.75rem 1.75rem;
  -webkit-mask-image:radial-gradient(130% 92% at 50% 10%,#000 30%,transparent 78%);
  mask-image:radial-gradient(130% 92% at 50% 10%,#000 30%,transparent 78%)}
.alone{position:absolute;left:50%;top:-14rem;width:70rem;aspect-ratio:1;border-radius:50%;
  transform:translateX(-50%);filter:blur(70px);opacity:.34;
  background:radial-gradient(circle at 40% 40%,#DE5B6F 0%,#DE5B6F00 60%),
             radial-gradient(circle at 66% 50%,#8B1A2B 0%,#8B1A2B00 62%)}
.corpo{position:relative;z-index:30}

/* barra in alto */
.nav{position:fixed;inset:0 0 auto;z-index:1999;padding-block:1.25rem;background:transparent;isolation:isolate}
.nav::before{content:'';position:absolute;left:0;right:0;top:0;bottom:-3.25rem;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,var(--white) 0,var(--white) 62%,transparent 100%)}
.cont{width:100%;max-width:117.5rem;margin-inline:auto;padding-inline:2.5rem}
@media(max-width:767px){.cont{padding-inline:1.25rem}}
.nav-in{display:flex;align-items:center;gap:1.5rem}
.marchio{display:flex;align-items:center;gap:.65rem;color:var(--blue)}
.marchio b{font-family:var(--disp);font-size:1.5rem;font-weight:500;letter-spacing:.06em}
.bmark{width:2.25rem;height:2.25rem;background:var(--blue);flex:none;position:relative}
.bmark svg{width:56%;position:absolute;left:50%;top:52%;transform:translate(-50%,-50%)}
.nav-dx{margin-left:auto;display:flex;align-items:center;gap:.75rem}
.thm{width:2.25rem;height:2.25rem;flex:none;display:grid;place-items:center;
  border:1px dashed var(--lgrey);background:transparent;color:var(--black);cursor:pointer;
  transition:border-color .2s,color .2s}
.thm:hover{border-color:var(--blue);color:var(--blue)}
.thm svg{width:1.05rem;height:1.05rem}
.thm .luna{display:none}
:root[data-theme="dark"] .thm .sole{display:none}
:root[data-theme="dark"] .thm .luna{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .thm .sole{display:none}
  :root:not([data-theme="light"]) .thm .luna{display:block}}
.torna{font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grey);
  border:1px dashed var(--lgrey);padding:.6rem 1rem;transition:color .2s,border-color .2s}
.torna:hover{color:var(--blue);border-color:var(--blue)}

/* testata */
.testata{padding-top:12rem;padding-bottom:4rem}
.eyebrow{font-size:.95rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);margin-bottom:1.5rem}
.testata h1{font-size:clamp(2.6rem,5.2vw,5rem);max-width:22ch}
.occhiello{margin-top:1.75rem;font-size:1.3rem;color:var(--grey);max-width:60ch}
.agg{margin-top:2rem;font-size:.95rem;color:var(--lgrey);
  border-top:1px dashed var(--lgrey);padding-top:1rem;display:inline-block}

/* impianto a due colonne */
.griglia{display:grid;grid-template-columns:22rem 1fr;gap:5rem;padding-bottom:8rem;align-items:start}
@media(max-width:991px){.griglia{grid-template-columns:1fr;gap:3rem}}
.indice{position:sticky;top:8rem}
@media(max-width:991px){.indice{position:static}}
.indice h4{font-family:var(--mono);font-size:.9rem;font-weight:400;text-transform:uppercase;
  letter-spacing:.1em;color:var(--lgrey);margin:0 0 1rem}
.indice a{display:block;padding:.45rem 0;font-size:1rem;color:var(--grey);
  border-bottom:1px dashed color-mix(in srgb,var(--lgrey) 60%,transparent);transition:color .2s}
.indice a:hover{color:var(--blue)}

/* sezioni */
.sez{scroll-margin-top:9rem;margin-bottom:4.5rem}
.sez h2{font-size:clamp(1.7rem,2.6vw,2.6rem);margin-bottom:1.5rem}
.sez h3{font-family:var(--mono);font-size:1.2rem;font-weight:500;margin:2rem 0 .75rem}
.intro{font-size:1.3rem;color:var(--grey);margin-bottom:3.5rem;max-width:70ch}

/* riquadri */
.box{border:1px dashed var(--blue);padding:2rem;margin:2rem 0;background:color-mix(in srgb,var(--white) 70%,transparent)}
.box.pieno{background:var(--blue);color:var(--su-blu);border-style:solid}
.box.pieno a{text-decoration:underline}
.nota{border-left:.2rem solid var(--blue);padding-left:1.25rem;margin:2rem 0;color:var(--grey)}

/* tabelle */
table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:1rem}
th,td{text-align:left;padding:.9rem 1rem;border-bottom:1px dashed color-mix(in srgb,var(--lgrey) 70%,transparent);
  vertical-align:top}
th{font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;color:var(--lgrey)}
@media(max-width:767px){th,td{padding:.7rem .4rem;font-size:.95rem}}

/* schede affiancate */
.tris{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem 0}
@media(max-width:767px){.tris{grid-template-columns:1fr}}
.scheda{border:1px dashed var(--lgrey);padding:1.5rem}
.scheda b{display:block;font-family:var(--disp);font-weight:500;font-size:1.25rem;margin-bottom:.6rem}
.scheda p{font-size:1rem;color:var(--grey);margin:0}

/* collegamenti in linea */
.corpo a:not(.torna):not(.marchio):not(.bottone){color:var(--blue);
  border-bottom:1px dashed currentColor}
.bottone{display:inline-flex;align-items:center;gap:.8rem;height:2.75rem;padding-inline:1.6rem;
  background:var(--blue);color:var(--su-blu);font-size:1rem;text-transform:uppercase;letter-spacing:.04em;
  transition:background .2s}
.bottone:hover{background:var(--blue-d)}

/* piè di pagina */
.foot{color:var(--su-blu);padding-block:9rem 1.5rem;position:relative;z-index:30;isolation:isolate;margin-top:6rem}
.foot::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,#8B1A2B00 0,#8B1A2B4d 5%,var(--blue) 16%,var(--blue) 100%)}
.foot-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem}
@media(max-width:767px){.foot-g{grid-template-columns:1fr 1fr}}
.foot-c h5{font-family:var(--mono);font-size:.9rem;font-weight:400;text-transform:uppercase;
  letter-spacing:.1em;margin:0 0 1rem;border-top:1px dashed #ffffff66;padding-top:1rem}
.foot-c a{display:block;padding:.35rem 0;font-size:1rem;opacity:.85}
.foot-c a:hover{opacity:1}
.foot-b{margin-top:4rem;padding-top:1.25rem;border-top:1px dashed #ffffff40;
  font-size:.9rem;opacity:.8;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* mirino */
.cc{position:fixed;inset:0 0 auto;width:100%;height:100vh;z-index:40;pointer-events:none;
  overflow:hidden;color:var(--blue)}
.cc-x{position:absolute;left:0;top:0;width:1.5rem;margin:-.75rem 0 0 -.75rem;will-change:transform}
.cc-v{position:absolute;left:0;top:0;width:1px;height:100%;will-change:transform;
  background:color-mix(in srgb,var(--black) 12%,transparent)}
.cc-h{position:absolute;left:0;top:0;height:1px;width:100%;will-change:transform;
  background:color-mix(in srgb,var(--black) 12%,transparent)}
.cc.su-blu{color:var(--su-blu)}
.cc.su-blu .cc-v,.cc.su-blu .cc-h{background:#ffffff59}
@media (hover:none),(pointer:coarse){.cc{display:none}}
@media (hover:hover) and (pointer:fine){
  html,body,a,button,summary,.thm{cursor:none}
  input,textarea{cursor:text}}

/* selettore della lingua */
.lingua{height:2.25rem;padding:0 2rem 0 .8rem;border:1px dashed var(--lgrey);background:transparent;
  color:var(--black);font:inherit;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 1rem) 55%,calc(100% - .7rem) 55%;background-size:.3rem .3rem,.3rem .3rem;background-repeat:no-repeat;
  transition:border-color .2s,color .2s}
.lingua:hover{border-color:var(--blue);color:var(--blue)}
.lingua option{background:var(--white);color:var(--black);text-transform:none}
@media(max-width:600px){.torna{display:none}}
