/* ── Hero ────────────────────────────────────────────────── */
.hero {
    background: var(--hero-bg); min-height: 100vh;
    display: flex; flex-direction: column; justify-content: center;
    padding: 120px clamp(2rem,8vw,8rem) 80px;
    position: relative; overflow: hidden; text-align: center;
}
.hero__inner { max-width: 860px; margin: 0 auto; }
.hero__eyebrow {
    font-family: var(--font-sans); font-size: 0.75rem; font-weight: 400;
    letter-spacing: 0.15em; text-transform: uppercase;
    color: rgba(244,247,251,0.67); margin-bottom: 2.5rem;
    display: flex; align-items: center; justify-content: center; gap: 0.75rem;
}
.hero__eyebrow-line {
    display: inline-block; width: 32px; height: 1px;
    background: rgba(244,247,251,0.27);
}
.hero__logo-wrap { margin-bottom: 2.5rem; display: flex; justify-content: center; }
.hero__logo-wrap img { max-width: 80%; display: block; }
.hero__quote {
    font-family: var(--font-serif);
    font-size: clamp(1.1rem,2.2vw,1.45rem);
    font-style: italic; font-weight: 300;
    color: rgba(244,247,251,0.8); line-height: 1.6;
    margin: 0 auto 3rem; max-width: 620px;
}
.hero__cite {
    display: block; margin-top: 0.6rem;
    font-family: var(--font-sans); font-size: 0.8rem;
    font-style: normal; letter-spacing: 0.08em; text-transform: uppercase;
    color: rgba(244,247,251,0.53);
}
.hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.hero__dec {
    position: absolute; border-radius: 50%;
    pointer-events: none; border: 1px solid rgba(244,247,251,0.094);
}
.hero__dec--1 { top:-15%; right:-10%; width:50vw; height:50vw; max-width:700px; }
.hero__dec--2 { bottom:-20%; left:-8%; width:40vw; height:40vw; max-width:550px;
    border-color: rgba(244,247,251,0.07); }
.scroll-hint {
    position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center;
}
.scroll-hint__line {
    width: 1px; height: 48px;
    background: linear-gradient(to bottom, transparent, rgba(244,247,251,0.35));
}

/* ── Manifesto ───────────────────────────────────────────── */
.manifesto__intro { font-family: var(--font-sans); font-size:1.05rem; font-weight:300; color:var(--text-muted); line-height:1.75; max-width:640px; margin-top:1rem; }
.values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:0.5px; background:var(--border); border:0.5px solid var(--border); margin-top:3.5rem; }
.value-card { background:var(--bg-alt); padding:2.5rem 2rem; }
.value-card__num { font-family:var(--font-serif); font-size:0.9rem; color:var(--accent); display:block; margin-bottom:1rem; }
.value-card__title { font-family:var(--font-serif); font-size:1.5rem; font-weight:400; color:var(--text); margin-bottom:0.75rem; }
.value-card__text { font-family:var(--font-sans); font-size:0.92rem; font-weight:300; color:var(--text-muted); line-height:1.7; }
.cei-callout { margin-top:3rem; border-left:3px solid var(--accent); padding-left:1.5rem; }
.cei-callout__text { font-family:var(--font-serif); font-style:italic; font-size:1.1rem; color:var(--text-muted); line-height:1.7; margin-bottom:0.5rem; }
.cei-callout__link { font-family:var(--font-sans); font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); }

/* ── Chi siamo ───────────────────────────────────────────── */
.chi-siamo__grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.ispirazione-box { background:var(--bg-alt); border:1px solid var(--border); padding:2.5rem; }
.ispirazione-box__label { font-family:var(--font-serif); font-size:1rem; color:var(--text-muted); margin-bottom:1.5rem; letter-spacing:0.04em; text-transform:uppercase; }
.ispirazione-list { display:flex; flex-direction:column; gap:0.8rem; list-style:none; }
.ispirazione-item { display:flex; align-items:center; gap:1rem; padding-bottom:0.8rem; border-bottom:1px solid var(--border); }
.ispirazione-item:last-child { border-bottom:none; }
.ispirazione-item__num { font-family:var(--font-serif); font-size:0.85rem; color:var(--accent); min-width:24px; }
.ispirazione-item__name { font-family:var(--font-serif); font-size:1.25rem; font-weight:400; color:var(--text); }
.quote-box { margin-top:1rem; background:var(--bg-dark); padding:2rem 2.5rem; }
.quote-box__text { font-family:var(--font-serif); font-style:italic; font-size:1.15rem; color:rgba(244,247,251,0.8); line-height:1.65; }
.quote-box__cite { display:block; margin-top:0.8rem; font-family:var(--font-sans); font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; font-style:normal; color:rgba(244,247,251,0.47); }

/* ── Cosa facciamo ───────────────────────────────────────── */
.attivita-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2px; background:var(--border); border:0.5px solid var(--border); }
.attivita-card { background:var(--bg-alt); padding:2.5rem 2rem; }
.attivita-card__num { font-family:var(--font-serif); font-size:2.2rem; font-weight:300; color:var(--border); display:block; margin-bottom:1.2rem; line-height:1; }
.attivita-card__title { font-family:var(--font-serif); font-size:1.4rem; font-weight:400; color:var(--text); margin-bottom:0.75rem; line-height:1.25; }
.attivita-card__text { font-family:var(--font-sans); font-size:0.9rem; font-weight:300; color:var(--text-muted); line-height:1.75; }

/* ── Come aderire ────────────────────────────────────────── */
.aderire-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px; background:rgba(244,247,251,0.13); }
.aderire-card { background:var(--bg-dark); padding:2.5rem 2rem; border-top:1px solid rgba(244,247,251,0.13); }
.aderire-card__tag { display:inline-block; font-family:var(--font-sans); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); background:rgba(178,134,63,0.13); padding:0.25rem 0.6rem; border-radius:var(--radius); margin-bottom:1rem; }
.aderire-card__title { font-family:var(--font-serif); font-size:1.5rem; font-weight:400; color:var(--hero-text); margin-bottom:0.75rem; }
.aderire-card__text { font-family:var(--font-sans); font-size:0.9rem; font-weight:300; color:rgba(244,247,251,0.73); line-height:1.75; margin-bottom:1.5rem; }
.aderire-card__links { display:flex; flex-direction:column; gap:0.5rem; list-style:none; }
.aderire-card__link { font-family:var(--font-sans); font-size:0.8rem; letter-spacing:0.06em; color:var(--accent); display:flex; align-items:center; gap:0.4rem; text-decoration:none; }
.aderire-card__link::before { content:''; display:inline-block; width:16px; height:1px; background:var(--accent); flex-shrink:0; }

/* ── Stampa ──────────────────────────────────────────────── */
.stampa-list { display:flex; flex-direction:column; gap:0.5px; background:var(--border); }
.stampa-item { background:var(--bg-alt); padding:1.75rem 2rem; display:grid; grid-template-columns:140px 1fr auto; align-items:center; gap:2rem; }
.stampa-item__testata { font-family:var(--font-serif); font-size: 1rem; color:var(--text-muted); font-style:italic; }
.stampa-item__data { font-style:normal; font-size: 0.9rem; color:var(--soft); display:block; }
.stampa-item__titolo { font-family:var(--font-serif); font-size:1.15rem; font-weight:400; color:var(--text); }
.stampa-item__tag { font-family:var(--font-sans); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); background:rgba(178,134,63,0.09); padding:0.2rem 0.6rem; border-radius:var(--radius); white-space:nowrap; }
.stampa__note { font-family:var(--font-sans); font-size:0.8rem; color:var(--text-muted); margin-top:1.5rem; font-style:italic; }

/* ── Calendario ──────────────────────────────────────────────── */
.calendar-list { display:flex; flex-direction:column; gap:0.5px; background:var(--border); }
.calendar-item { background:var(--bg-alt); padding:1.75rem 2rem; display:grid; grid-template-columns:140px 1fr auto; align-items:center; gap:2rem; }
.calendar-item__testata { font-family:var(--font-serif); font-size: 1rem; color:var(--text-muted); font-style:italic; }
.calendar-item__data { font-style:normal; font-size: 0.9rem; color:var(--soft); display:block; }
.calendar-item__titolo { font-family:var(--font-serif); font-size:1.15rem; font-weight:400; color:var(--text); }
.calendar-item__tag { font-family:var(--font-sans); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); background:rgba(178,134,63,0.09); padding:0.2rem 0.6rem; border-radius:var(--radius); white-space:nowrap; }
.calendar__note { font-family:var(--font-sans); font-size:0.8rem; color:var(--text-muted); margin-top:1.5rem; font-style:italic; }
.stampa-item__desc {
    font-family: var(--font-serif);
    color: var(--text-muted);
    display: block;
    font-size: 1.1em;
    font-weight: 400;
    font-style: italic;
}
.stampa-item__content {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

/* ── Contatti ────────────────────────────────────────────── */
.contatti__grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.contatti__email { font-family:var(--font-serif); font-size:1.4rem; color:var(--accent); text-decoration:none; display:block; margin-bottom:0.75rem; }
.contatti__sito { font-family:var(--font-sans); font-size:0.85rem; color:var(--text-muted); text-decoration:none; letter-spacing:0.05em; }
.gruppi-box { background:var(--bg-alt); border:1px solid var(--border); padding:3rem; }
.gruppi-box__label { font-family:var(--font-serif); font-size:1rem; color:var(--text-muted); margin-bottom:1.5rem; letter-spacing:0.04em; }
.gruppi-list { list-style:none; }
.gruppi-item { display:flex; align-items:center; gap:1rem; padding-bottom:0.9rem; margin-bottom:0.9rem; border-bottom:1px solid var(--border); }
.gruppi-item:last-child { border-bottom:none; margin-bottom:0; }
.gruppi-item__dot { width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.gruppi-item__name { font-family:var(--font-serif); font-size:1.1rem; color:var(--text); }

/* ── Footer ──────────────────────────────────────────────── */
.site-footer { background:var(--bg-dark); padding:3rem clamp(2rem,8vw,8rem); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; }
.site-footer__logo img { height:28px; width:auto; display:block; opacity:0.9; }
.site-footer__credits { font-family:var(--font-sans); font-size:0.78rem; color:rgba(244,247,251,0.33); letter-spacing:0.05em; }
.site-footer__copy { font-family:var(--font-sans); font-size:0.75rem; color:rgba(244,247,251,0.27); }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 640px) {
    .hero { padding: 100px clamp(1.5rem,5vw,3rem) 60px; }
    .chi-siamo__grid, .contatti__grid { grid-template-columns:1fr; gap:3rem; }
    .stampa-item { grid-template-columns:1fr; align-items:flex-start; gap:0.5rem; }
	.calendar-item { grid-template-columns:1fr; align-items:flex-start; gap:0.5rem; }
    .site-footer { flex-direction:column; justify-content:center; text-align:center; }
    .site-footer__logo, .site-footer__credits, .site-footer__copy { margin:0 auto; }
}
