/* ============================================================
   NAONIAN 2027 — style.css
   CSS condiviso tra home, esibizioni, news-singola.
   CSS specifico di ogni pagina rimane nel suo <style>.
   ============================================================ */
/* ============================================================
   NAONIAN 2027 — mockup home
   Palette: due accenti, ognuno con un significato.
   rosso ossidato = inchiostro · ambra = benzina
   ============================================================ */
:root{
  --asfalto:#0c0b09;
  --fumo:#17130f;
  --carta:#1e1a15;
  --osso:#ece4d6;
  --osso-50:rgba(236,228,214,.55);
  --osso-20:rgba(236,228,214,.16);
  --ink:#a81f1f;
  --ink-hi:#e0483c;   /* rosso acceso: il #a81f1f su fondo scuro fa 2.3:1 */
  --benzina:#d4881f;
  --cromo:#8b9196;
  --verde:#186b4c;
  --verde-hi:#2b8a66;
  --benzina-hi:#ffb648;

  --display:'Big Shoulders Display',sans-serif;
  --body:'Barlow',sans-serif;
  --util:'Barlow Condensed',sans-serif;

  --pad:clamp(20px,5vw,72px);
  --maxw:1560px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
body{
  background:var(--asfalto);
  color:var(--osso);
  font-family:var(--body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--benzina);outline-offset:3px}

.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* --- tipografia --- */
.eyebrow{
  font-family:var(--util);
  font-size:24px;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--benzina);
  display:flex;align-items:center;gap:12px;
  margin-left: 5px;
}


/* --- bottoni --- */
.btn{
  display:inline-block;
  font-family:var(--util);
  font-size:16px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;
  padding:15px 32px;
  border:1px solid var(--osso);
  background:var(--osso);color:var(--asfalto);
  transition:background .2s,color .2s;
  cursor:pointer;
}
.btn:hover{background:transparent;color:var(--osso)}
.btn--ink{background:var(--ink);border-color:var(--ink);color:var(--osso)}
.btn--ink:hover{background:transparent;color:var(--ink)}
.btn--ghost{background:transparent;color:var(--osso)}
.btn--ghost:hover{background:var(--osso);color:var(--asfalto)}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
  padding:18px var(--pad);
  transition:padding .25s,background .25s,border-color .25s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  padding-top:10px;padding-bottom:10px;
  background:rgba(12,11,9,.92);
  backdrop-filter:blur(10px);
  border-bottom-color:var(--osso-20);
}
.nav__logo{
  font-family:var(--display);font-weight:900;
  font-size:20px;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;line-height:1;
}
.nav__logo span{color:var(--ink)}
.nav__logo--img{display:flex;align-items:center;line-height:0;border-bottom:0}
.nav__logo-img{height:48px;width:auto;max-width:160px;flex:none;display:block;object-fit:contain}
.nav__links{display:flex;gap:30px;list-style:none}
.nav__links a{
  font-family:var(--util);font-size:16px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;
  padding:6px 0;
  border-bottom:2px solid transparent;
  transition:border-color .2s,color .2s;
}
.nav__links a:hover{border-bottom-color:var(--benzina)}
.nav__cta{
  font-family:var(--util);font-size:15px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  padding:11px 22px;background:var(--ink);
  transition:background .2s;
}
.nav__cta:hover{background:var(--benzina);color:var(--asfalto)}
.nav__burger{
  display:none;background:none;border:0;cursor:pointer;
  width:40px;height:40px;
}
.nav__burger span{display:block;height:2px;background:var(--osso);margin:7px 0;transition:transform .3s,opacity .2s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}



/* ── PAGE TOP (compensa nav fixed nelle pagine interne) ── */
.page-top{padding-top:clamp(40px,5vw,60px)}

/* ============ FOOTER ============ */
.foot{border-top:1px solid var(--osso-20);padding:clamp(48px,6vw,76px) 0 32px}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.foot__brand .nav__logo{font-size:26px}
.foot__brand p{margin-top:14px;color:var(--osso-50);font-size:15px;max-width:32ch}
.foot h4{font-family:var(--util);font-size:14px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--benzina);margin-bottom:14px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot ul a{font-size:15px;color:var(--osso-50);text-decoration:none;transition:color .2s}
.foot ul a:hover{color:var(--osso)}
.foot__legal{
  margin-top:44px;padding-top:22px;border-top:1px solid var(--osso-20);
  font-size:13px;color:var(--osso-50);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}


/* ============ SFONDO SEZIONI — #2c2c2c ============ */

.stats { background: #2c2c2c; }
.stats__grid .stat { background: #2c2c2c; }
.show { background: #2c2c2c; }
.join { background: #2c2c2c; }
.join__box { background: #2c2c2c; }
.news { background: #2c2c2c; }
.part { background: #2c2c2c; }
.part__cell { background: #2c2c2c; }
.part__cell:hover { background: #3d3d3d; }

/* ============ RESPONSIVE ============ */
@media(max-width:1080px){
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:block}
  .nav.is-open{
    flex-direction:column;align-items:flex-start;
    height:100svh;background:var(--asfalto);
    padding-top:18px;
  }
  .nav.is-open .nav__burger{position:absolute;top:14px;right:var(--pad)}
  .nav.is-open .nav__links{
    display:flex;flex-direction:column;gap:6px;
    margin-top:56px;width:100%;
  }
  .nav.is-open .nav__links a{
    font-family:var(--display);font-weight:900;font-size:38px;
    letter-spacing:.01em;border-bottom:1px solid var(--osso-20);
    display:block;padding:14px 0;width:100%;
  }
  .nav.is-open .nav__cta{display:inline-block;margin-top:22px;padding:16px 30px;font-size:17px}

  .foot__grid{grid-template-columns:1fr;gap:26px}
  .nav__logo-img{height:40px;max-width:130px}
}

/* ============================================================
   PARTECIPA — pagina partecipa.html
   ============================================================ */

/* ── SEZIONI PARTECIPA ── */
#tattoo{background:var(--ink)}
#tattoo .sec-num{color:rgba(236,228,214,.06)}
#tattoo .sec-eyebrow{color:rgba(236,228,214,.65)}
#tattoo .sec-eyebrow::before{background:rgba(236,228,214,.65)}
#tattoo .sec-title{color:#fff}
#tattoo .sec-sub{color:rgba(236,228,214,.65)}

/* Steps processo candidatura */
.part-steps{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:rgba(236,228,214,.15);
  border:1px solid rgba(236,228,214,.15);
  margin-bottom:clamp(24px,3vw,36px);
}
.part-step{
  background:#8c1a1a;
  padding:clamp(18px,2.5vw,28px);
  display:flex;flex-direction:column;gap:6px;
}
.part-step__n{
  font-family:var(--display);font-weight:900;font-size:48px;
  color:rgba(236,228,214,.1);line-height:1;
}
.part-step__title{
  font-family:var(--util);font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--osso);
}
.part-step__desc{
  font-size:14px;color:rgba(236,228,214,.55);line-height:1.6;margin-top:2px;
}

/* CTA row */
.part-cta-row{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.part-btn{
  font-family:var(--util);font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  padding:14px 28px;background:var(--osso);color:var(--ink);
  text-decoration:none;transition:background .2s,color .2s;
}
.part-btn:hover{background:transparent;color:var(--osso);border:1px solid var(--osso)}
.part-btn--ghost{
  background:transparent;color:rgba(236,228,214,.7);
  border:1px solid rgba(236,228,214,.3);
}
.part-btn--ghost:hover{background:rgba(236,228,214,.08);border-color:rgba(236,228,214,.5)}
.part-cta-note{
  font-family:var(--util);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(236,228,214,.35);
}

/* ── ESPOSITORI ── */
.expo-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--osso-20);border:1px solid var(--osso-20);
}
.expo-card{
  background:var(--asfalto);
  padding:clamp(20px,2.5vw,32px);
  display:flex;flex-direction:column;gap:8px;
  border-top:2px solid transparent;
}
.expo-card:first-child{border-top-color:var(--benzina)}
.expo-card:nth-child(2){border-top-color:var(--ink)}
.expo-card:nth-child(3){border-top-color:var(--osso-20)}
.expo-card__label{
  font-family:var(--util);font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--osso-50);
}
.expo-card__name{
  font-family:var(--display);font-weight:900;font-size:22px;
  text-transform:uppercase;color:var(--osso);
}
.expo-card__size{
  font-family:var(--display);font-weight:900;
  font-size:clamp(28px,3vw,40px);color:var(--benzina);line-height:1;
}
.expo-card__desc{
  font-size:14px;color:var(--osso-50);line-height:1.65;flex:1;margin-top:4px;
}
.expo-card__cta{
  display:block;margin-top:14px;
  font-family:var(--util);font-size:12px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;text-align:center;
  padding:11px;border:1px solid rgba(212,136,31,.35);color:var(--benzina);
  text-decoration:none;transition:background .2s,color .2s;
}
.expo-card__cta:hover{background:var(--benzina);color:var(--asfalto)}

/* ── PARTNER ── */
.partner-box{
  border:1px solid rgba(212,136,31,.25);
  padding:clamp(28px,4vw,48px);
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(24px,3vw,48px);
  align-items:start;
}
.partner-claim{
  font-family:var(--display);font-weight:900;
  font-size:clamp(28px,4vw,48px);line-height:.95;
  text-transform:uppercase;color:var(--osso);
  margin-bottom:16px;
}
.partner-sub{
  font-size:clamp(14px,1.2vw,16px);color:var(--osso-50);line-height:1.7;
  margin-bottom:28px;
}
.partner-btn{
  font-family:var(--util);font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  padding:14px 28px;background:var(--benzina);color:var(--asfalto);
  text-decoration:none;transition:background .2s;display:inline-block;
}
.partner-btn:hover{background:var(--benzina-hi)}
.partner-mail{
  display:block;margin-top:14px;
  font-family:var(--util);font-size:12px;font-weight:600;
  letter-spacing:.1em;color:var(--osso-50);text-decoration:none;
}
.partner-mail:hover{color:var(--benzina)}
.partner-benefits{display:flex;flex-direction:column;gap:12px}
.benefit-item{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px;border-left:2px solid var(--benzina);
  background:rgba(212,136,31,.04);
}
.benefit-item__dot{
  width:6px;height:6px;background:var(--benzina);
  border-radius:50%;flex-shrink:0;margin-top:6px;
}
.benefit-item__text{
  font-size:14px;color:rgba(236,228,214,.65);line-height:1.55;
}

/* ── RESPONSIVE PARTECIPA ── */
@media(max-width:860px){
  .part-steps{grid-template-columns:1fr}
  .expo-grid{grid-template-columns:1fr}
  .partner-box{grid-template-columns:1fr}
}
