html,body{overflow-x:clip;max-width:100%}
/* ---------- tokens ---------- */
:root{
  --ink:#05070d;
  --ink-2:#080b14;
  --panel:#0b0f1a;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.16);
  --text:#e9ebf1;
  --muted:#98a1b4;
  --gold:#c9a227;
  --gold-1:#e0bd4a;
  --serif:"Spectral",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --wrap:1120px;
  --narrow:720px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--text);
  font-family:var(--sans);font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.15;margin:0}
p{margin:0 0 1.1em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{display:none}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:#000;padding:.6rem 1rem;z-index:99}
.skip:focus{left:0}

/* ---------- layout ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.25rem,5vw,2.5rem)}
.narrow{max-width:var(--narrow);margin-left:auto;margin-right:auto}
.wrap .narrow{padding:0}
.band{padding:clamp(4.5rem,11vw,8.5rem) 0;border-top:1px solid var(--line)}
.band-alt{background:var(--ink-2)}
.eyebrow{
  font-size:.72rem;letter-spacing:.20em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin:0 0 1.4rem;
}
h2{font-size:clamp(1.85rem,4.2vw,2.9rem);margin-bottom:1.5rem}
h3{font-size:1.2rem;margin-bottom:.7rem}
.lead{font-size:clamp(1.05rem,1.9vw,1.28rem);color:#dbe0ea}
.band p:not(.eyebrow):not(.lead){color:var(--muted)}

/* ---------- topbar ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem clamp(1.25rem,5vw,2.5rem);
  background:rgba(5,7,13,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.brand{text-decoration:none}
.brand-logo{height:26px;width:auto;opacity:.92;transition:opacity .2s}
.brand:hover .brand-logo{opacity:1}
.topnav{display:flex;align-items:center;gap:clamp(.9rem,2.2vw,1.9rem)}
.topnav a{
  text-decoration:none;font-size:.86rem;color:var(--muted);
  transition:color .2s;white-space:nowrap;
}
.topnav a:hover{color:var(--text)}
.topcta{
  color:var(--ink)!important;background:var(--gold);
  padding:.45rem 1rem;border-radius:2px;font-weight:600;
}
.topcta:hover{background:var(--gold-1)}
@media(max-width:760px){.topnav a:not(.topcta){display:none}}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:7rem clamp(1.25rem,5vw,2.5rem) 6rem;
  background:
    radial-gradient(ellipse 80% 60% at 50% 45%, rgba(5,7,13,.30) 0%, rgba(5,7,13,.86) 70%, var(--ink) 100%),
    url("/assets/img/space.jpg") center/cover no-repeat var(--ink);
}
.hero-inner{max-width:760px}
.hero-eyebrow{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.8rem;
}
.hero-mark{margin:0 0 1.6rem;line-height:0}
.hero-logo{
  width:min(430px,66vw);height:auto;margin:0 auto;
  filter:drop-shadow(0 0 60px rgba(0,106,225,.35));
}
.hero-sub{
  font-size:clamp(1.05rem,2.4vw,1.3rem);letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold);margin-bottom:2.4rem;font-weight:500;
}
.hero-claim{
  font-family:var(--serif);font-size:clamp(1.5rem,3.6vw,2.15rem);
  color:var(--text);margin-bottom:.9rem;
}
.hero-lead{color:var(--muted);max-width:40rem;margin:0 auto 2.6rem;font-size:1.03rem}
.hero-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.4rem}
.hero-note{font-size:.82rem;color:#7c8598;margin:0}

.btn{
  display:inline-block;text-decoration:none;font-weight:600;font-size:.95rem;
  padding:.95rem 2rem;border-radius:2px;border:1px solid transparent;transition:.2s;
}
.btn-primary{background:var(--gold);color:#12100a;box-shadow:0 0 0 0 rgba(201,162,39,.45)}
.btn-primary:hover{background:var(--gold-1);box-shadow:0 8px 30px -8px rgba(201,162,39,.55)}
.btn-ghost{border-color:var(--line-2);color:var(--text)}
.btn-ghost:hover{border-color:var(--text)}

.scrollcue{
  position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);
  width:1px;height:52px;background:linear-gradient(var(--line-2),transparent);
}
.scrollcue span{
  position:absolute;top:0;left:-1px;width:3px;height:14px;background:var(--gold);
  animation:cue 2.6s ease-in-out infinite;
}
@keyframes cue{0%{top:0;opacity:0}25%{opacity:1}100%{top:44px;opacity:0}}
@media(prefers-reduced-motion:reduce){.scrollcue span{animation:none}}

/* ---------- bio ---------- */
.bio{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,4.5rem);align-items:center}
.bio-text .lead{font-size:clamp(1rem,1.55vw,1.12rem)}
.bio-photo{margin:0;position:relative}
.bio-photo img{
  width:100%;border:1px solid var(--line-2);
  filter:saturate(.85) contrast(1.03) brightness(.94);
}
.bio-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(5,7,13,.55),transparent 45%);
}
.stats{list-style:none;padding:0;margin:2.2rem 0 1.4rem;display:grid;gap:1.1rem}
.stats li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;align-items:baseline;border-top:1px solid var(--line);padding-top:.9rem}
.stats strong{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--gold)}
.stats span{color:var(--muted);font-size:.92rem}
.bio-link a{color:var(--gold);text-decoration:none;font-size:.92rem}
.bio-link a:hover{text-decoration:underline}
@media(max-width:840px){.bio{grid-template-columns:1fr}.bio-photo{max-width:380px}}

/* ---------- cards ---------- */
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);margin-top:3.5rem;border:1px solid var(--line)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:3.5rem}
.card{background:var(--ink);padding:2.2rem 1.7rem}
.grid-3 .card{border:1px solid var(--line);padding:2rem 1.7rem}
.card-n{font-family:var(--serif);font-size:.95rem;color:var(--gold);letter-spacing:.1em;margin-bottom:1.4rem}
.card-latin{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:.92rem;margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.94rem}
.card-link{display:block;text-decoration:none;transition:border-color .2s,background .2s}
.card-link:hover{border-color:var(--line-2);background:var(--panel)}
.card-more{color:var(--gold);font-size:.86rem;font-weight:600}
@media(max-width:980px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.grid-4{grid-template-columns:1fr}}

/* ---------- placeholder slots ---------- */
.placeholder-grid{margin-top:3rem}
.slot{
  border:1px dashed var(--line-2);border-radius:2px;min-height:190px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;
  background:repeating-linear-gradient(135deg,transparent,transparent 11px,rgba(255,255,255,.014) 11px,rgba(255,255,255,.014) 22px);
}
.slot-person span{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#5d6678}
.slot-note{margin-top:1.6rem;font-size:.85rem;color:#6f7889;font-style:italic}

/* ---------- ladder ---------- */
.ladder{list-style:none;counter-reset:t;padding:0;margin:3.5rem 0 0;border-top:1px solid var(--line)}
.ladder li{
  display:grid;grid-template-columns:7rem 14rem 1fr;gap:1.5rem;align-items:baseline;
  padding:1.5rem 0;border-bottom:1px solid var(--line);transition:background .2s;
}
.ladder li:hover{background:var(--panel)}
.ladder-amount{font-family:var(--serif);font-size:1.25rem;color:var(--gold)}
.ladder-name{font-family:var(--serif);font-size:1.1rem}
.ladder-text{color:var(--muted);font-size:.94rem}
@media(max-width:860px){
  .ladder li{grid-template-columns:1fr;gap:.35rem}
  .ladder-amount{font-size:1.05rem}
}

/* ---------- convivium page ---------- */
.pagehead{padding:clamp(6rem,14vw,10rem) 0 clamp(2.5rem,6vw,4rem);background:
  radial-gradient(ellipse 70% 90% at 50% 0%, rgba(20,26,48,.85), var(--ink) 70%)}
.pagehead h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:1.5rem}
.member-label{font-size:.92rem}
.member-label strong{color:var(--text)}
.person{border:1px solid var(--line);padding:1.6rem}
.person-photo{aspect-ratio:1;background:var(--panel);margin-bottom:1.1rem;overflow:hidden}
.person-photo img{width:100%;height:100%;object-fit:cover}
.person-role{color:var(--muted);font-size:.9rem;margin-bottom:.3rem}
.person-country{color:#6f7889;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.person-link{color:var(--gold);font-size:.88rem;text-decoration:none}
.notice{border-left:2px solid var(--gold);padding:1.2rem 0 1.2rem 1.6rem;background:var(--panel)}
.notice p{margin:0;color:var(--muted);font-size:.95rem}
.backlink{margin-top:2.5rem}
.backlink a{color:var(--gold);text-decoration:none;font-weight:600}

/* ---------- prose (privacy) ---------- */
.prose h2{font-size:1.3rem;margin:2.6rem 0 .8rem}
.prose h2:first-child{margin-top:0}
.prose a{color:var(--gold)}

/* ---------- cta ---------- */
.cta{
  padding:clamp(5rem,12vw,9rem) 0;text-align:center;border-top:1px solid var(--line);
  background:
    radial-gradient(ellipse 70% 100% at 50% 100%, rgba(201,162,39,.10), transparent 65%),
    url("/assets/img/space.jpg") center/cover no-repeat var(--ink-2);
}
.cta .eyebrow{color:var(--gold)}
.cta .lead{color:#cfd5e0;max-width:34rem;margin-left:auto;margin-right:auto}
.joinform{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin:2.4rem 0 1.2rem}
.joinform input[type=email]{
  flex:1 1 320px;max-width:400px;background:rgba(5,7,13,.75);
  border:1px solid var(--line-2);color:var(--text);
  padding:.95rem 1.1rem;border-radius:2px;font-family:var(--sans);font-size:1rem;
}
.joinform input[type=email]:focus{outline:none;border-color:var(--gold)}
.joinform button{cursor:pointer;font-family:var(--sans)}
.formnote{font-size:.82rem;color:#7c8598}
.formnote a{color:var(--muted)}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);padding:clamp(3.5rem,8vw,5rem) 0 2.5rem;background:var(--ink-2)}
.footgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem}
.foot-logo{height:46px;width:auto;margin-bottom:1.2rem;opacity:.80}
.foot-claim{font-family:var(--serif);color:var(--muted);font-size:1.02rem;line-height:1.6}
.footer h3{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-family:var(--sans);font-weight:600;margin-bottom:1rem}
.footer a{display:block;text-decoration:none;color:var(--muted);font-size:.9rem;padding:.28rem 0}
.footer a:hover{color:var(--text)}
.footnote{margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.footnote p{margin:0;font-size:.8rem;color:#6f7889}
@media(max-width:760px){.footgrid{grid-template-columns:1fr;gap:2rem}}

/* ---------- collegio: ritratti tondi, 4 per riga ---------- */
.order-note{margin:2.4rem 0 0;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#6f7889}
.grid-people{
  display:grid;grid-template-columns:repeat(4,1fr);
  column-gap:1.6rem;row-gap:2rem;margin-top:2rem;
}
.grid-people .person{border:0;padding:0;text-align:center;min-width:0;overflow-wrap:anywhere}
.grid-people .person-photo{
  width:clamp(56px,8.4vw,115px);aspect-ratio:1;margin:0 auto .7rem;
  border-radius:50%;overflow:hidden;background:var(--panel);
  border:1px solid var(--line);
}
.grid-people .person-photo img{width:100%;height:100%;object-fit:cover;display:block}
.grid-people .person h3{font-size:.95rem;line-height:1.3;margin:0 0 .25rem}
.grid-people .person-role{font-size:.79rem;line-height:1.4;margin:0;color:var(--muted)}
@media(max-width:860px){.grid-people{grid-template-columns:repeat(4,1fr);column-gap:1rem;row-gap:1.6rem}}
@media(max-width:700px){.grid-people{grid-template-columns:repeat(3,1fr);column-gap:.9rem;row-gap:1.5rem}}
@media(max-width:460px){.grid-people{grid-template-columns:repeat(2,1fr);column-gap:1rem;row-gap:1.6rem}
  .grid-people .person h3{font-size:.88rem}
  .grid-people .person-role{font-size:.75rem}}
.person-links{margin:.35rem 0 0;font-size:.78rem;line-height:1.5;display:flex;flex-wrap:wrap;gap:.2rem .45rem;justify-content:center}
.person-links a{overflow-wrap:anywhere;word-break:break-word}

/* ---------- il database condiviso ---------- */
.apri-custodi{
  background:none;border:0;padding:0;margin:0;font:inherit;color:var(--gold);
  cursor:pointer;border-bottom:1px solid rgba(214,178,94,.45);
}
.apri-custodi:hover{border-bottom-color:var(--gold)}
.apri-custodi[aria-expanded="true"]{border-bottom-style:dashed}
.custodi-in-breve{
  margin:1.6rem 0 0;padding:1.4rem 1.6rem;border:1px solid var(--line);background:var(--panel);
}
.cib-titolo{margin:0 0 1rem;font-family:var(--serif);font-style:italic;color:var(--gold);font-size:.95rem}
.custodi-in-breve ul{list-style:none;margin:0;padding:0;
  columns:2;column-gap:2.4rem}
.custodi-in-breve li{break-inside:avoid;margin:0 0 .7rem;font-size:.92rem;line-height:1.35}
.cib-nome{display:block;color:var(--text)}
.cib-ruolo{display:block;color:var(--muted);font-size:.82rem}
.cib-piu{margin:1.1rem 0 0}
.cib-piu a{color:var(--gold);text-decoration:none;font-size:.88rem;font-weight:600}
.sottovoce{margin-top:1.6rem;color:#7e879b;font-style:italic;font-size:1.02rem}
@media(max-width:620px){.custodi-in-breve ul{columns:1}}

.anno{margin-top:2.4rem;text-align:center;font-family:var(--serif);font-size:clamp(1.15rem,2.2vw,1.45rem);color:var(--gold);font-weight:400}

.avviso{margin-top:2rem;padding:.85rem 1.1rem;border-left:2px solid var(--gold);background:rgba(201,162,39,.07);font-size:.95rem;color:#bcc3d2}

.slot-avatar{display:block;width:clamp(56px,8.4vw,115px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--panel);border:1px solid var(--line);margin:0 auto .55rem}
.slot-avatar svg{width:100%;height:100%;display:block;fill:rgba(224,189,74,.62)}
.slot-tu span:not(.slot-avatar){color:#7e879b}

.placeholder-grid .slot{border:0;background:none;min-height:0;padding:0;min-width:0}
.placeholder-grid .slot span{max-width:100%}

/* ---------- press kit e kit riservato (20/10/2026) ---------- */
.kit-actions{justify-content:flex-start;margin:2rem 0 0}
.kit-meta{color:#7c8598;font-size:.84rem}
.kit-prose p{margin:0 0 1.1rem}
.kit-downloads{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.kit-slot{display:flex;align-items:center;justify-content:center;min-height:120px;text-align:center;font-size:.85rem;color:#6f7889;margin-top:2rem}
.kit-clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.6rem;margin-top:2.6rem}
.kit-clips .kit-slot,.kit-photos .kit-slot{margin-top:0;aspect-ratio:16/9;min-height:0}
.kit-clip{margin:0}
.kit-clip video{width:100%;aspect-ratio:16/9;background:#000;display:block}
.kit-clip figcaption{display:flex;flex-direction:column;gap:.2rem;padding-top:.8rem;font-size:.9rem}
.kit-clip figcaption span{color:var(--muted);font-size:.84rem}
.kit-clip figcaption a,.kit-logo a,.kit-fonts a,.kit-mail{color:var(--gold);text-decoration:none;font-weight:600;font-size:.86rem}
.kit-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:1.6rem;margin-top:2.6rem}
.kit-photo{margin:0}
.kit-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.kit-photo figcaption{padding-top:.7rem;font-size:.86rem;color:var(--muted)}
.kit-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.6rem;margin-top:2.6rem}
.kit-logo{margin:0}
.kit-logo-box{background:#e9ebf1;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;padding:2rem}
.kit-logo-box.kit-logo-dark{background:var(--panel);border:1px solid var(--line)}
.kit-logo-box img{max-width:70%;max-height:100%;width:auto;height:auto}
.kit-logo figcaption{padding-top:.7rem;font-size:.86rem;color:var(--muted)}
.kit-copy{display:flex;gap:.7rem;flex-wrap:wrap;align-items:stretch;margin:1.4rem 0 1rem}
.kit-copy-text{flex:1 1 260px;min-width:0;overflow-wrap:anywhere;background:var(--panel);border:1px solid var(--line);padding:.95rem 1.1rem;font-size:.86rem;color:var(--text)}
.kit-copy-btn{border:0;cursor:pointer;font-family:inherit}
.kit-h3{margin:2.6rem 0 0;font-size:1.05rem}
.kit-texts{list-style:none;padding:0;margin:1rem 0 0;border-top:1px solid var(--line)}
.kit-texts li{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid var(--line)}
.kit-mini{display:inline-block;background:none;border:1px solid var(--line-2);color:var(--text);font:600 .78rem var(--sans);padding:.45rem .8rem;border-radius:2px;cursor:pointer;text-decoration:none;white-space:nowrap}
.kit-mini:hover{border-color:var(--text)}
.kit-mini-gold{border-color:var(--gold);color:var(--gold)}
.kit-copied{border-color:var(--gold)!important;color:var(--gold)!important}
.kit-copied::after{content:" ✓"}
.kit-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:1rem;margin-top:2.4rem}
.kit-swatch{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start;background:none;border:1px solid var(--line);padding:0 0 .9rem;color:var(--text);font:inherit;cursor:pointer;text-align:left}
.kit-swatch span{display:block;width:100%;height:72px;border-bottom:1px solid var(--line);margin-bottom:.6rem}
.kit-swatch strong,.kit-swatch code{padding:0 .9rem;font-size:.86rem}
.kit-swatch code{color:var(--muted)}
.kit-fonts{list-style:none;padding:0;margin:2.4rem 0 0;border-top:1px solid var(--line)}
.kit-fonts li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:1rem;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--line)}
.kit-fonts li span{color:var(--muted);font-size:.9rem}
.kit-font-spectral{font-family:var(--serif);font-size:1.5rem;font-weight:400}
.kit-font-inter{font-family:var(--sans);font-size:1.25rem;font-weight:600}
.kit-library{margin-top:2.6rem;border-top:1px solid var(--line)}
.kit-library .kit-slot{margin-top:0;border-top:0}
.kit-folder{border-bottom:1px solid var(--line)}
.kit-folder summary{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.2rem 0;cursor:pointer;list-style:none}
.kit-folder summary::-webkit-details-marker{display:none}
.kit-folder summary::before{content:"+";color:var(--gold);font-weight:600;width:1.2rem;flex:none}
.kit-folder[open] summary::before{content:"−"}
.kit-folder-name{flex:1;font-family:var(--serif);font-size:1.15rem}
.kit-files{list-style:none;padding:0 0 1.2rem;margin:0}
.kit-file{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem 1rem;align-items:center;padding:.65rem 0 .65rem 1.2rem;border-top:1px solid var(--line);font-size:.9rem}
.kit-file-name{overflow-wrap:anywhere}
.kit-file-actions{display:flex;gap:.4rem}
.kit-preview{grid-column:1/-1;padding:.4rem 0 .6rem}
.kit-preview video,.kit-preview img{display:block;max-width:100%;max-height:70vh;background:#000}
@media(max-width:640px){
  .kit-fonts li{grid-template-columns:1fr}
  .kit-file{grid-template-columns:minmax(0,1fr) auto}
  .kit-file-actions{grid-column:1/-1}
}
