
:root{--bg:#0a1020;--bg2:#0f1730;--line:#223056;--txt:#eef1f8;--mut:#9aa6c4;--gold:#d4af6a;--grey:#8a93a8;--link:var(--gold)}
*{box-sizing:border-box;margin:0;padding:0}
body{background:radial-gradient(1000px 500px at 50% -10%,#1b2a5a55,transparent 70%),var(--bg);background-repeat:no-repeat;color:var(--txt);font-family:ui-sans-serif,system-ui,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}
.w{max-width:1080px;margin:0 auto;padding:0 24px}
a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* barra alto */
.bar .w{display:flex;justify-content:space-between;align-items:center;height:70px}
.brand{font-family:Georgia,serif;font-size:1.4rem;color:var(--gold)}
.bar a.l{color:var(--mut);font-size:.9rem;border-bottom:1px solid var(--line)}
.bar a.l:hover{color:var(--gold);border-color:var(--gold)}

/* pagina descrizione */
.hero{text-align:center;padding:80px 0 56px}
.hero .sub{font-size:.78rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold)}
.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.35rem,5.2vw,3.7rem);line-height:1.15;margin:18px 0 0;white-space:nowrap}
.hero h1 em{color:var(--gold)}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5}
.sec{padding:54px 0 10px}
.sec h2{font-family:Georgia,serif;font-weight:400;font-size:1.9rem;display:flex;align-items:baseline;gap:14px}
.sec h2 small{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem;color:var(--gold);letter-spacing:.2em}
.sec .sd{color:var(--mut);margin:6px 0 24px}
.g{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.k{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(180deg,var(--bg2),transparent);transition:border-color .2s,transform .2s}
.k:hover{border-color:var(--gold);transform:translateY(-3px)}
.k .t{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.k h3{font-family:Georgia,serif;font-weight:400;font-size:1.3rem}
.k p{color:var(--mut);font-size:.93rem;flex:1}
.k .u{font-size:.82rem;font-weight:500;color:var(--link)}
.k:hover .u{text-decoration:underline;text-underline-offset:3px}

/* privacy */
.doc{max-width:760px;padding-top:56px;padding-bottom:30px}
.doc h1{font-family:Georgia,serif;font-weight:400;color:var(--gold);margin-bottom:10px}
.doc h2{font-size:1.05rem;margin:24px 0 4px;font-weight:600}
.doc p{color:var(--mut)}
.doc a{color:var(--gold);border-bottom:1px solid var(--line)}
/* disclaimer */
.disclaimer{margin:56px 0 8px;padding-top:18px;border-top:1px solid var(--line)}
.disclaimer h4{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;font-weight:500;color:var(--grey);margin-bottom:6px}
.disclaimer p{font-size:.78rem;color:var(--grey);max-width:70em}

footer{border-top:1px solid var(--line);margin-top:32px;padding:24px 0 40px;color:var(--mut);font-size:.82rem}
footer .w{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

/* home = elenco link */
.ll{max-width:540px;margin:0 auto;padding:56px 24px 30px}
.ll h1{font-family:Georgia,serif;font-weight:400;text-align:center;color:var(--gold)}
.ll .s{display:block;text-align:center;color:var(--gold);letter-spacing:.35em;font-size:.75rem;text-transform:uppercase;margin:6px 0 22px}
.ll .desc{display:block;text-align:center;margin:0 auto 14px;width:max-content;max-width:100%;padding:10px 22px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-size:.9rem;transition:background .2s,color .2s}
.ll .desc:hover{background:var(--gold);color:var(--bg)}
.ll h3{font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:26px 0 6px;font-weight:500}
.ll .it{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.ll .it:hover{color:#fff}
.ll .it span{color:var(--link);font-size:.82rem;font-weight:500;align-self:center}
.ll .it:hover span{text-decoration:underline;text-underline-offset:3px}
@media(max-width:480px){.ll .it{flex-direction:column;gap:0}.ll .it span{align-self:flex-start}}
