/* ============ PROXIMA — stile condiviso ============ */
:root{
  --display:'Archivo Black',sans-serif;
  --yellow:#ddeb00;
  --violet:#4a3cec;
  --orange:#ff6a2b;
  --grape:#9b3cff;
  --ink:#0a0a16;
  --paper:#f6f5ef;
  --violet-deep:#2c2389;
  --nav-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:'Sora',sans-serif;overflow-x:hidden;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.04;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;height:var(--nav-h);padding:0 5vw;background:rgba(10,10,22,.72);backdrop-filter:blur(12px);border-bottom:1px solid rgba(246,245,239,.08)}
nav .brand{display:flex;align-items:center;color:#fff}
nav .brand svg{height:30px;width:auto}
nav .links{display:flex;gap:22px;font-family:'Space Grotesk';font-size:.82rem;text-transform:uppercase;font-weight:500;letter-spacing:.5px}
nav .links a{position:relative;padding:4px 0;opacity:.85}
nav .links a:hover,nav .links a.active{opacity:1}
nav .links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--yellow);transition:width .3s}
nav .links a:hover::after,nav .links a.active::after{width:100%}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;z-index:120}
.burger span{width:26px;height:2px;background:var(--paper);transition:.3s}
.nav-scrim{display:none}

@media(max-width:920px){
  nav{backdrop-filter:none;background:rgba(10,10,22,.92);z-index:110}
  .burger{display:flex}
  .nav-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.3s;z-index:105}
  .nav-scrim.open{opacity:1;visibility:visible}
  nav .links{
    position:fixed;top:0;right:0;bottom:0;height:100dvh;
    width:min(82vw,330px);
    background:var(--violet-deep);              /* sfondo PIENO opaco */
    background-image:linear-gradient(165deg,var(--violet-deep),var(--ink));
    backdrop-filter:none;
    flex-direction:column;justify-content:flex-start;align-items:flex-start;
    gap:4px;font-size:1.05rem;
    padding:calc(var(--nav-h) + 24px) 30px 40px;
    transform:translateX(100%);transition:transform .32s ease;
    z-index:110;box-shadow:-12px 0 40px rgba(0,0,0,.4);
    overflow-y:auto;                            /* scroll se serve */
  }
  nav .links.open{transform:translateX(0)}
  nav .links a{width:100%;padding:14px 0;border-bottom:1px solid rgba(246,245,239,.12);opacity:1}
  nav .links a:last-child{border-bottom:none}
  nav .links a::after{display:none}
  nav .links a.active{color:var(--yellow)}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* generic */
.section{padding:110px 5vw 90px}
.tag{font-family:'Space Grotesk';color:var(--yellow);text-transform:uppercase;letter-spacing:3px;font-size:.8rem;font-weight:700;margin-bottom:16px}
.page-h{font-family:var(--display);font-size:clamp(2.6rem,8vw,6rem);line-height:.92;text-transform:uppercase;margin-bottom:24px}
h2{font-family:var(--display);font-size:clamp(2rem,6vw,4rem);line-height:.98;text-transform:uppercase;margin-bottom:24px}
.lead{max-width:620px;font-weight:300;opacity:.85;font-size:1.12rem}
.btn{display:inline-block;font-family:'Space Grotesk';font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;padding:15px 30px;border:2px solid var(--paper);border-radius:50px;transition:.25s;cursor:pointer}
.btn.fill{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.btn.orange{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--violet)}
.btn.orange:hover{box-shadow:6px 6px 0 var(--grape)}

/* FOOTER */
footer{background:var(--ink);padding:54px 5vw;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;border-top:1px solid rgba(246,245,239,.15)}
footer .brand{color:#fff;margin-bottom:8px}
footer .brand svg{height:34px}
footer .col p{font-weight:300;opacity:.7;font-size:.9rem;margin-top:6px}
footer nav.fnav{position:static;height:auto;background:none;backdrop-filter:none;border:none;padding:0;display:flex;gap:18px;flex-wrap:wrap;font-family:'Space Grotesk';font-size:.82rem;text-transform:uppercase;font-weight:500}
footer nav.fnav a:hover{color:var(--yellow)}
.social{display:flex;gap:16px;font-family:'Space Grotesk';font-size:.85rem;text-transform:uppercase;font-weight:700;margin-top:10px}
.social a:hover{color:var(--yellow)}

.notch{border-radius:28px 28px 28px 4px}

/* social con icone */
.social{align-items:center}
.social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(246,245,239,.25);border-radius:12px 12px 12px 4px;transition:.25s}
.social a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink);transform:translateY(-2px)}
.social svg{width:18px;height:18px;fill:currentColor}

/* spazio logo Summer League nella sezione classifiche */
.league-brand{display:flex;align-items:center;gap:16px;margin-top:6px}
.league-logo-slot{flex:0 0 auto;width:84px;height:84px;border:2px dashed rgba(246,245,239,.3);border-radius:18px 18px 18px 4px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Space Grotesk';font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;opacity:.6;padding:6px}
.league-logo-slot img{width:100%;height:100%;object-fit:contain}
