:root{
 --forest:#1f2d18;--forest2:#111a0e;--wine:#7b211b;--gold:#c99845;--gold2:#e2bd74;
 --paper:#f5eedf;--paper2:#fffaf0;--ink:#2a241c;--muted:#706657;
 --serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}
img{display:block;max-width:100%}button,a{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;color:#000;padding:.7rem 1rem}.skip:focus{top:1rem}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,5vw,5rem);color:#fff;transition:.35s;background:linear-gradient(#0008,transparent)}
.site-header.scrolled{height:68px;background:rgba(21,31,17,.96);box-shadow:0 8px 30px #0002;backdrop-filter:blur(12px)}
.brand{color:#fff;text-decoration:none;font-family:var(--serif);font-size:1.45rem;letter-spacing:.07em;font-weight:700}.brand-year{color:var(--gold2);margin-left:.45rem}
nav{display:flex;gap:1.6rem}nav a{color:#fff;text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;font-weight:600}nav a:hover{color:var(--gold2)}
.menu-toggle{display:none;background:none;border:1px solid #ffffff70;color:#fff;border-radius:999px;padding:.45rem .85rem}
.hero{height:min(830px,100svh);min-height:380px;position:relative;display:grid;place-items:center;color:#fff;overflow:hidden;}
.hero-media{position:absolute;inset:0;background:url("assets/SacroSpecoAI.png") no-repeat right/cover; transform:scale(1);}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,8,.73),rgba(10,15,8,.72) 55%,rgba(10,15,8,.15)),linear-gradient(0deg,#111a0e88,transparent 45%)}
.hero-content{position:relative;text-align:center;width:min(980px,90vw);padding-top:3rem;text-shadow:0 2px 20px #0008}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:#8b6732}.hero .eyebrow{color:var(--gold2)}
h1,h2,h3{font-family:var(--serif);line-height:1.02;margin-top:0}h1{font-size:clamp(4rem,7.5vw,7rem);letter-spacing:.02em;margin-bottom:0}h1 span{color:var(--gold2)}
.hero-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.8rem,4vw,3.3rem);margin:.1rem 0 1rem;color:#f6e4bf}
.date{display:inline-block;border-top:1px solid #e2bd7499;border-bottom:1px solid #e2bd7499;padding:.55rem 1rem;letter-spacing:.16em;font-weight:600}
.lead{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.4}.actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.7rem}
.btn{display:inline-block;border:1px solid transparent;border-radius:2px;padding:.85rem 1.3rem;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;text-decoration:none;cursor:pointer}
.btn-gold{background:var(--gold);color:#17140f}.btn-gold:hover{background:var(--gold2)}.btn-ghost{border-color:#ffffff90;color:#fff;background:#0002}.btn-dark{background:var(--forest);color:#fff}
.scroll-hint{position:absolute;bottom:1.3rem;color:#fff;text-decoration:none;font-size:1.6rem;animation:bob 2s infinite}@keyframes bob{50%{transform:translateY(7px)}}
.section{padding:clamp(5rem,9vw,9rem) 1.25rem}.wrap{width:min(1180px,100%);margin:auto}.narrow{width:min(820px,100%);margin:auto;text-align:center}
h2{font-size:clamp(2.7rem,5vw,5rem);margin-bottom:1.3rem}.intro{background:var(--paper2)}.intro-text{font-family:var(--serif);font-size:clamp(1.3rem,2.3vw,1.75rem);line-height:1.6}.ornament{color:var(--gold);margin:1rem}
.section-head{text-align:center;max-width:780px;margin:0 auto 3.2rem}.section-head>p:last-child{color:var(--muted)}
.experiences{background:linear-gradient(#f5eedf,#eee3cf)}.cards{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #bda97e;border-bottom:1px solid #bda97e}
.card{text-align:center;padding:2.2rem 1.3rem;position:relative}.card:not(:last-child){border-right:1px solid #cdbb96}.icon{font-size:2rem;color:#a8752c;margin-bottom:.7rem}.card h3{font-size:1.7rem;margin:.2rem 0}.card p{font-size:.86rem;color:var(--muted);line-height:1.6}
.story-band{display:grid;grid-template-columns:1fr .75fr;background:var(--forest);color:#fff}.story-image{min-height:380px}.story-image img{width:100%;object-fit:cover}.story-copy{padding:clamp(3rem,7vw,7rem);align-self:center}.story-copy h2{font-size:clamp(3rem,5vw,5.5rem)}.story-copy p{color:#e9e1d1}.light{color:var(--gold2)}.text-link{color:var(--gold2);text-decoration:none;font-weight:700}
.program{background:var(--paper2)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto 3rem;border-bottom:1px solid #b9a989}.tabs button{border:0;background:transparent;padding:1rem;color:#756b5e;cursor:pointer;font-family:var(--serif);font-size:1.4rem;font-weight:700}.tabs small{display:block;font-family:var(--sans);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}.tabs button[aria-selected=true]{color:var(--wine);border-bottom:3px solid var(--wine)}
.day-panel{max-width:850px;margin:auto}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:94px;top:10px;bottom:10px;width:1px;background:#c7b68f}.timeline article{display:grid;grid-template-columns:75px 1fr;gap:40px;padding:1.2rem 0}.timeline time{font-family:var(--serif);font-size:1.4rem;font-weight:700;color:var(--wine);text-align:right}.timeline h3{font-size:1.45rem;margin:0 0 .2rem}.timeline p{margin:0;color:var(--muted)}.poster-link{text-align:center;margin-top:3rem}
.banquet{/**display:grid;grid-template-rows:1fr 1fr;*/background:#192315;color:#fff}.banquet-photo{min-height:700px;overflow:hidden}.banquet-photo img{width:100%;object-fit:cover}.banquet-copy{padding:clamp(3rem,7vw,7rem);align-self:center}.banquet-copy h2{font-size:clamp(3rem,5vw,5.4rem)}.banquet-copy>p{color:#e4ddce}.menu-mini{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:2rem 0}.menu-mini p{border-bottom:1px solid #ffffff25;padding:.5rem 0;color:#ead7b0;font-family:var(--serif);font-size:1.50rem} .menu-mini p span{font-size:1.2rem;color:#ffc500;} 
.menu-mini p span.dish{font-size:1rem;color:#fff;}
.sagra{background:#f3e7cf}.sagra-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw;align-items:center}.big-number{font-family:var(--serif);font-size:clamp(6rem,12vw,11rem);line-height:.7;color:var(--wine);font-weight:700}.big-number sup{font-size:.3em}.sagra-copy h2{font-size:clamp(3rem,5vw,5.5rem);margin-top:1.2rem}.sagra-date{font-weight:800;letter-spacing:.15em;color:var(--wine)}.sagra-image img{box-shadow:0 25px 70px #3a291a30}
.visit{background:linear-gradient(#14200fe8,#14200ff2),url("assets/hero.jpg") center/cover fixed;color:#fff}.visit p{color:#e7dfcf}.visit .btn{margin-top:1rem}
footer{background:#0c120a;color:#d8cfbc;text-align:center;padding:3.5rem 1.2rem}.footer-brand{font-family:var(--serif);font-size:1.8rem}.footer-brand span{display:block;color:var(--gold2);font-style:italic}.footer-small{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#9c927e}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
.lightbox{width:min(1200px,94vw);border:0;padding:0;background:#111;box-shadow:0 20px 80px #0008}.lightbox::backdrop{background:#000c}.lightbox img{width:100%;max-height:90vh;object-fit:contain}.close{position:absolute;right:10px;top:10px;width:42px;height:42px;border:0;border-radius:50%;background:#000b;color:#fff;font-size:1.7rem;cursor:pointer}
@media(max-width:900px){
 .menu-toggle{display:block}nav{position:absolute;top:100%;left:0;right:0;background:#152011;padding:1.2rem;display:none;flex-direction:column;text-align:center}nav.open{display:flex}
 .cards{grid-template-columns:1fr 1fr}.card{border-bottom:1px solid #cdbb96}.story-band,.banquet,.sagra-grid{grid-template-columns:1fr}.story-image{min-height:350px}.banquet-photo{min-height:400px}.banquet-copy{order:-1}
}
@media(max-width:600px){
 .site-header{height:64px}.brand{font-size:1.05rem}.hero{min-height:450px}.hero-content{padding-top:4rem}.hero .lead br{display:none}
 h1{font-size:clamp(2.3rem,9vw,8.7rem);letter-spacing:.02em;margin-bottom:0}
 .cards{grid-template-columns:1fr}.card:not(:last-child){border-right:0}.tabs button{font-size:1.5rem;padding:.8rem .3rem}
 .timeline:before{left:65px}.timeline article{grid-template-columns:55px 1fr;gap:28px}.timeline time{font-size:2rem}.menu-mini{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-hint{animation:none}}


.associazioni-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem 2rem;
  max-width: 900px;
  margin: 0 auto;
  align-items: center;
}

.associazione-logo {
  min-height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.associazione-logo img {
  width: auto;
  max-width: 120px;
  height: auto;
  max-height: 120px;
  object-fit: contain;
  transition: transform .3s ease;
}

.associazione-logo:hover img {
  transform: scale(1.06);
}

/* Smartphone */
@media (max-width: 600px) {
  .associazioni-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem 1rem;
    max-width: 400px;
  }

  .associazione-logo {
    min-height: 100px;
    padding: .5rem;
  }

  .associazione-logo img {
    max-width: 100px;
    max-height: 100px;
  }
}