/* Layout: colonna unica a 1120px; hero a due colonne (titolo + pattern da tracker suonabile), poi sezioni a griglia che si impilano su telefono */
:root{
  --paper:#E7EBEF; --ink:#18212D; --muted:#434F5E; --line:#C3CBD4;
  --wine:#87283A; --amber:#6F4706; --card:#F3F5F7;
  --scr-bg:#0F1620; --scr-fg:#C9D3DE; --scr-dim:#8494A6; --scr-row:#1A2430; --scr-hi:#E2A63C; --scr-wine:#E07487;
  --f-display:"Big Shoulders Display","Arial Narrow","Helvetica Neue",sans-serif;
  --f-body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#121820; --ink:#DCE2E9; --muted:#8E9AA9; --line:#2B3542;
  --wine:#DA7085; --amber:#DDA846; --card:#19212B; color-scheme:dark }}
:root[data-theme="dark"]{
  --paper:#121820; --ink:#DCE2E9; --muted:#8E9AA9; --line:#2B3542;
  --wine:#DA7085; --amber:#DDA846; --card:#19212B; color-scheme:dark }

*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.6;padding-inline:20px;padding-block:0 48px}
.wrap{max-width:1120px;margin-inline:auto}
a{color:var(--wine);text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:2px solid var(--wine);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--f-display);font-weight:800;line-height:.95;margin:0;text-wrap:balance}
p{margin:0}

/* testata */
.top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-block:22px;border-bottom:1px solid var(--line)}
.mark{font-family:var(--f-display);font-weight:900;font-size:1.9rem;letter-spacing:.01em;color:var(--ink);text-decoration:none}
.mark .wm span{color:var(--wine)}
.top nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.98rem}
.top nav a{color:var(--muted);text-decoration:none}
.top nav a:hover{color:var(--ink);text-decoration:underline}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;padding-block:56px 64px}
.hero h1{font-size:clamp(3.4rem,9vw,7.2rem);text-transform:uppercase;letter-spacing:-.005em}
.hero h1 .l2{display:block;color:var(--muted);font-weight:600}
.motto{font-style:italic;font-size:1.25rem;line-height:1.45;margin-top:26px;max-width:30ch}
.facts{margin-top:22px;color:var(--muted);max-width:44ch}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{font-family:var(--f-body);font-size:1rem;font-weight:600;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost{background:transparent;color:var(--ink)}
.btn:hover{background:var(--wine);border-color:var(--wine);color:#fff}

/* tracker */
.tracker{background:var(--scr-bg);color:var(--scr-fg);border-radius:6px;padding:14px 14px 12px;font-family:var(--f-mono);font-size:.78rem;box-shadow:0 18px 40px -24px rgba(10,16,24,.6)}
.tbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.tbar .name{color:var(--scr-hi)}
.tbar .meta{color:var(--scr-dim)}
.play{font-family:var(--f-mono);font-size:.78rem;background:var(--scr-hi);color:var(--scr-bg);border:0;padding:6px 12px;border-radius:2px;cursor:pointer;font-weight:500}
.play[aria-pressed="true"]{background:var(--scr-wine)}
.grid-scroll{overflow-x:auto}
table.pat{border-collapse:collapse;width:100%;min-width:560px;font-variant-numeric:tabular-nums}
.pat th{font-weight:500;text-align:left;padding:0 6px 6px;white-space:nowrap}
.pat th button{font:inherit;background:none;border:0;color:var(--scr-fg);cursor:pointer;padding:2px 0;text-align:left}
.pat th button span{display:block;color:var(--scr-dim);font-size:.7rem}
.pat th button[aria-pressed="false"]{color:var(--scr-dim);text-decoration:line-through}
.pat td{padding:1px 6px;white-space:nowrap;color:var(--scr-fg)}
.pat td.rn{color:var(--scr-dim);padding-right:8px}
.pat td .e{color:var(--scr-dim)}
.pat tr.beat td{background:var(--scr-row)}
.pat tr.now td{background:var(--scr-hi);color:var(--scr-bg)}
.pat tr.now td .e,.pat tr.now td.rn{color:var(--scr-bg)}
.pat td.off{opacity:.3}
.tfoot{margin-top:10px;color:var(--scr-dim);line-height:1.5}

/* sezioni */
section.block{padding-block:56px;border-top:1px solid var(--line)}
.shead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;align-items:start}
.shead h2{font-size:clamp(2.2rem,5vw,3.4rem);text-transform:uppercase}
.lede{max-width:62ch}
.lede p+p{margin-top:14px}

/* scheda tecnica */
dl.spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px;margin:36px 0 0}
.spec div{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:16px;padding-block:14px;border-bottom:1px solid var(--line)}
.spec dt{font-family:var(--f-mono);font-size:.82rem;color:var(--muted);padding-top:3px}
.spec dd{margin:0}
.spec strong{font-family:var(--f-display);font-weight:800;font-size:1.5rem;letter-spacing:.01em;display:block;line-height:1.1}

/* storia */
ol.time{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:none;border-top:2px solid var(--ink)}
.time li{padding:16px 18px 0 0;position:relative}
.time li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}
.time li:last-child::before{background:var(--wine);border-color:var(--wine)}
.time .era{font-family:var(--f-display);font-weight:800;font-size:1.45rem;line-height:1.05;display:block;margin-top:6px}
.time p{color:var(--muted);font-size:.95rem;margin-top:6px}

/* crew */
.crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.member{background:var(--paper);padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px}
.member .ch{font-family:var(--f-mono);font-size:.78rem;color:var(--amber)}
.member h3{font-size:2rem}
.member p{color:var(--muted);font-size:.98rem}
.also{margin-top:22px;color:var(--muted);max-width:70ch}

/* ascolta */
.listen{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;margin-top:36px;align-items:start}
.big{font-family:var(--f-display);font-weight:900;font-size:clamp(4rem,11vw,8rem);line-height:.85;color:var(--wine);font-variant-numeric:tabular-nums}
.big-cap{margin-top:12px;max-width:36ch}
ul.links{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.links li{border-bottom:1px solid var(--line)}
.links a{display:flex;justify-content:space-between;gap:16px;padding-block:14px;text-decoration:none;color:var(--ink)}
.links a:hover .t{text-decoration:underline;color:var(--wine)}
.links .t{font-weight:600}
.links .d{color:var(--muted);font-size:.92rem;text-align:right}
.collab{margin-top:28px;color:var(--muted);font-size:.98rem}
.collab b{color:var(--ink);font-weight:600}

footer{border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.95rem}
footer q{font-style:italic;color:var(--ink);max-width:56ch}

@media (max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:40px 48px}
  .shead,.listen{grid-template-columns:minmax(0,1fr);gap:18px}
  dl.spec{grid-template-columns:minmax(0,1fr)}
  .crew{grid-template-columns:repeat(2,minmax(0,1fr))}
  ol.time{grid-template-columns:minmax(0,1fr);border-top:0;border-left:2px solid var(--ink);margin-left:6px}
  .time li{padding:0 0 22px 22px}
  .time li::before{top:4px;left:-7px}
}
@media (max-width:520px){
  .crew{grid-template-columns:minmax(0,1fr)}
  .spec div{grid-template-columns:minmax(0,1fr);gap:4px}
  .top nav{gap:14px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* sfondo luminoso */
:root{--glow:.20}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--glow:.26}}
:root[data-theme="dark"]{--glow:.26}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.wrap{position:relative;z-index:1}

/* note e colori */
.ref{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.ref span{color:var(--muted);font-size:.95rem}
.seg{display:inline-flex;border:1.5px solid var(--ink);border-radius:2px;overflow:hidden}
.seg button{font-family:var(--f-mono);font-size:.85rem;background:transparent;color:var(--ink);border:0;padding:7px 14px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.strip-scroll{overflow-x:auto;margin-top:22px}
ol.strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,minmax(64px,1fr));min-width:780px;border:1px solid var(--line)}
.strip li{background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column}
.strip li:last-child{border-right:0}
.strip button{all:unset;cursor:pointer;display:flex;flex-direction:column;flex:1}
.strip button:focus-visible{outline:2px solid var(--wine);outline-offset:-2px}
.sw{height:86px;transition:background-color .4s}
.strip .nm{font-family:var(--f-display);font-weight:800;font-size:1.5rem;padding:8px 10px 0;line-height:1}
.strip .dt{font-family:var(--f-mono);font-size:.7rem;color:var(--muted);padding:4px 10px 10px;line-height:1.45;font-variant-numeric:tabular-nums}
.strip li.dor .nm::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--wine);margin-left:6px;vertical-align:middle}
.how{margin-top:18px;color:var(--muted);font-size:.95rem;max-width:72ch}

.top nav a[aria-current="page"]{color:var(--ink);font-weight:600}

/* intestazione di pagina interna */
.phead{padding-block:52px 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;align-items:end}
.phead h1{font-size:clamp(3.2rem,9vw,6.4rem);text-transform:uppercase}
.phead .lede{color:var(--ink)}

/* musica */
.tracks{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.track{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding-block:32px;border-bottom:1px solid var(--line)}
.cover{width:100%;aspect-ratio:1;max-width:100%;display:block;border-radius:3px;background:#0F1620}
.cover-cap{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);margin-top:8px}
.tinfo{display:flex;flex-direction:column;gap:10px;min-width:0}
.tinfo h2{font-size:clamp(2rem,4.5vw,3rem)}
.tmeta{font-family:var(--f-mono);font-size:.82rem;color:var(--amber)}
.tinfo .about{max-width:60ch}
.tinfo .cred,.tinfo .plays{color:var(--muted);font-size:.95rem;max-width:62ch}
.player{grid-column:1/-1;min-width:0}
.player iframe{width:100%;height:300px;border:0;display:block;border-radius:3px}
.player-off{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:3px}
.player-off p{color:var(--muted);font-size:.92rem;flex:1;min-width:14rem}
ol.steps{margin:24px 0 0;padding-left:1.4em;max-width:68ch;display:flex;flex-direction:column;gap:10px}
ol.steps li::marker{font-family:var(--f-display);font-weight:800;color:var(--wine)}
code{font-family:var(--f-mono);font-size:.88em;background:var(--card);border:1px solid var(--line);padding:1px 5px;border-radius:2px}

/* grafiche */
.stage{position:relative;height:min(72vh,620px);min-height:380px;background:#0E141C;border-radius:4px;overflow:hidden;color:#DCE2E9;cursor:crosshair;touch-action:manipulation}
.stage #bg{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.stage .hud{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 18px;pointer-events:none}
.stage .hud>*{pointer-events:auto}
.stage .now-note{font-family:var(--f-display);font-weight:900;font-size:clamp(3rem,10vw,7rem);line-height:.85;color:rgba(232,236,240,.92)}
.stage .now-sub{font-family:var(--f-mono);font-size:.78rem;color:rgba(220,226,233,.7);margin-top:6px}
.stage .ctrls{display:flex;gap:8px;flex-wrap:wrap}
.sbtn{font-family:var(--f-mono);font-size:.8rem;background:rgba(14,20,28,.65);color:#E8ECF0;border:1px solid rgba(232,236,240,.4);padding:8px 12px;border-radius:2px;cursor:pointer}
.sbtn[aria-pressed="true"]{background:#E8ECF0;color:#0E141C}
.stage .hint{position:absolute;top:14px;left:18px;z-index:2;font-size:.9rem;color:rgba(220,226,233,.75);max-width:44ch}
.stage:fullscreen{height:100%;border-radius:0}
.covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;margin-top:32px}
.covers figure{margin:0;display:flex;flex-direction:column;gap:8px}
.covers figcaption{font-size:.95rem}
.covers figcaption b{font-family:var(--f-display);font-weight:800;font-size:1.35rem;display:block;line-height:1.1}
.covers figcaption span{font-family:var(--f-mono);font-size:.74rem;color:var(--muted)}

@media (max-width:900px){
  .phead{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:36px 28px}
}
@media (max-width:620px){
  .track{grid-template-columns:minmax(0,1fr);gap:18px}
  .track .cover{max-width:260px}
}

/* elenco brani */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px 28px}
.tcard{display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none}
.tcard .cover{transition:transform .25s ease}
.tcard:hover .cover{transform:translateY(-3px)}
.tcard:hover h2{color:var(--wine)}
.tcard h2{font-size:1.9rem;line-height:1}
.tcard .tmeta{margin:0}
.tcard p{color:var(--muted);font-size:.95rem}

/* pagina brano */
.crumb{font-size:.95rem;color:var(--muted);padding-top:28px}
.crumb a{color:var(--muted)}
.song{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;padding-block:28px 40px;align-items:start}
.song .cover{border-radius:4px}
.song h1{font-size:clamp(2.8rem,7vw,5.2rem);text-wrap:balance}
.song .tinfo{gap:14px}
.song .about{font-size:1.15rem}
.facts-list{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:8px 16px;margin:6px 0 0;font-size:.97rem}
.facts-list dt{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);padding-top:3px}
.facts-list dd{margin:0}
.song-player{padding-bottom:40px}
.pn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding-block:24px 8px}
.pn a{display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none}
.pn a:last-child{text-align:right}
.pn small{color:var(--muted);font-size:.9rem}
.pn b{font-family:var(--f-display);font-weight:800;font-size:1.6rem;line-height:1.05}
.pn a:hover b{color:var(--wine)}
.notfound{padding-block:40px;max-width:60ch}

/* indice grafiche */
.gindex{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.gcard{display:flex;flex-direction:column;gap:12px;color:var(--ink);text-decoration:none}
.gcard canvas{width:100%;aspect-ratio:4/3;max-width:100%;display:block;border-radius:4px;background:#0E141C}
.gcard h2{font-size:2.2rem}
.gcard p{color:var(--muted);max-width:40ch}
.gcard:hover h2{color:var(--wine)}

/* spettro */
.spectrum{margin-top:28px;overflow-x:auto}
.spectrum svg{display:block;width:100%;min-width:640px;height:auto}
.spectrum text{font-family:var(--f-mono);font-size:11px;fill:var(--muted)}
.spectrum .nl{font-family:var(--f-display);font-weight:800;font-size:15px;fill:var(--ink)}
.spectrum line{stroke:var(--ink)}
.spectrum .tick{stroke:var(--line)}

.stage.tall{height:min(78vh,760px)}

@media (max-width:900px){
  .song{grid-template-columns:minmax(0,1fr);gap:24px}
  .song .cover{max-width:420px}
  .gindex{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:560px){
  .gindex{grid-template-columns:minmax(0,1fr)}
  .facts-list{grid-template-columns:minmax(0,1fr);gap:2px}
  .facts-list dd{margin-bottom:8px}
  .pn b{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){.tcard .cover{transition:none}}
main{padding-bottom:56px}

/* logo nella testata (solo hosting) */
.mark{display:inline-flex;align-items:center;gap:12px}
.mark .logo,.mark .logo img{display:block;width:44px;height:44px}

/* grafiche: seconda fila */
.gindex.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:36px}
.gcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:4px;background:#0E141C}
.gindex.two .gcard img{aspect-ratio:16/9}

/* video */
.vids{display:flex;flex-direction:column;gap:44px}
.vid{margin:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px;align-items:start}
.vid video{width:100%;height:auto;display:block;border-radius:4px;background:#0E141C}
.vid figcaption{display:flex;flex-direction:column;gap:8px}
.vid figcaption b{font-family:var(--f-display);font-weight:800;font-size:2.2rem;line-height:1}
.vid figcaption span{font-family:var(--f-mono);font-size:.8rem;color:var(--amber)}
.vid figcaption p{color:var(--muted)}

/* identità */
.idgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}
.idcard{margin:0;display:flex;flex-direction:column;gap:10px}
.idcard img{display:block;width:100%;height:auto;border-radius:4px}
.idcard figcaption{color:var(--muted);font-size:.95rem}
.idlogo picture{display:block;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:10%}
.idlogo img{border-radius:0}
.idbanner{margin-top:32px}
.idbanner img{background:#000}

@media (max-width:900px){
  .vid,.idgrid{grid-template-columns:minmax(0,1fr);gap:16px}
}
@media (max-width:560px){
  .gindex.two{grid-template-columns:minmax(0,1fr)}
  .mark .logo,.mark .logo img{width:36px;height:36px}
}
.top{align-items:center}

/* ---------- accessibilità ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:2px;font-weight:600;text-decoration:none}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 12px)}
:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
main:focus{outline:none}
.btn,.sbtn,.play,.pill,.linkbtn,.bgtoggle{min-height:44px}
.top nav a{padding-block:10px}

/* pulsante sfondo */
.bgtoggle{font-family:var(--f-body);font-size:.9rem;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 12px;cursor:pointer}
.bgtoggle:hover{color:var(--ink);border-color:var(--ink)}

/* piè di pagina con link */
footer.foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.foot .fq{display:flex;flex-direction:column;gap:10px}
.foot .fh{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);margin-bottom:8px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.foot a{color:var(--ink);text-decoration:none;display:inline-block;padding-block:6px}
.foot a:hover{color:var(--wine);text-decoration:underline}
.linkbtn{font:inherit;color:var(--ink);background:none;border:0;padding:6px 0;cursor:pointer;text-align:left;min-height:0}
.linkbtn:hover{color:var(--wine);text-decoration:underline}

/* consenso */
dialog.consent{max-width:min(620px,calc(100vw - 32px));width:100%;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:28px 28px 24px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
dialog.consent::backdrop{background:rgba(10,14,20,.55)}
.consent h2{font-size:2.2rem;text-transform:uppercase;margin-bottom:14px}
.consent p{margin-top:10px;font-size:1rem}
.consent-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.consent-btns .btn{flex:1 1 220px}
.consent-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:none;color:var(--ink);font-size:1.8rem;line-height:1;cursor:pointer;border-radius:2px}

/* copertine vere */
.cwrap{position:relative}
img.cover{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px;background:#0F1620}
.player-off .btn{flex:none}

/* profili e ricerca */
ul.profili{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.profili a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:3px;background:var(--card);color:var(--ink);text-decoration:none;min-height:44px}
.profili a:hover{border-color:var(--wine)}
.profili b{font-family:var(--f-display);font-weight:800;font-size:1.5rem;line-height:1}
.profili span{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}
fieldset.nomi{border:0;padding:0;margin:28px 0 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.nomi legend{float:left;margin-right:12px;color:var(--muted);padding:0}
.pill{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);border-radius:2px;padding:6px 14px;cursor:pointer;font-weight:600}
.pill:has(input:checked){background:var(--ink);color:var(--paper)}
.pill input{accent-color:var(--wine);width:18px;height:18px;margin:0}
ul.plat{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.plat a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:2px;background:var(--card);color:var(--ink);text-decoration:none;font-weight:600}
.plat a:hover{border-color:var(--wine);color:var(--wine)}

/* modulo mailing list */
form.ml{display:flex;flex-direction:column;gap:16px;margin-top:22px;max-width:30rem}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600}
.field .opt{font-weight:400;color:var(--muted)}
.field input{font:inherit;font-size:1rem;padding:11px 12px;border:1.5px solid var(--muted);border-radius:2px;background:var(--card);color:var(--ink);min-height:44px}
.field input[aria-invalid="true"],.check input[aria-invalid="true"]{border-color:var(--wine);outline:2px solid var(--wine)}
.check{display:flex;gap:10px;align-items:flex-start}
.check input{width:22px;height:22px;margin-top:3px;accent-color:var(--wine);flex:none}
.err{color:var(--wine);font-weight:600;font-size:.95rem}
.status{font-weight:600;min-height:1.6em}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.ml .btn{align-self:flex-start}

/* informativa */
.legal{max-width:68ch;display:flex;flex-direction:column;gap:36px}
.legal h2{font-size:1.9rem;text-transform:uppercase;margin-bottom:10px}
.legal p+p{margin-top:12px}
.tscroll{overflow-x:auto;margin-top:12px}
.legal table{border-collapse:collapse;width:100%;font-size:.95rem}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.legal th{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);font-weight:500}

@media (max-width:900px){
  footer.foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot .fq{grid-column:1/-1}
  ul.profili{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .bgtoggle{order:3}
  ul.profili{grid-template-columns:minmax(0,1fr)}
}
