/* ========================================================
   Solo per la pagina «home». Ogni pagina di servizio ha il suo foglio: non sono istanze di un modello e hanno perfino intestazioni diverse fra loro.
   Rigenerato da Sito/migrazione/estrai_css.py:
   non modificare a mano la parte generata.
   ======================================================== */

h1,h2,h3{font-family:'Poppins',sans-serif;color:var(--crema);letter-spacing:-.02em;line-height:1.1}
@media(max-width:640px){
  .nav-links{gap:1rem;font-size:.968rem}
}
.btn{display:inline-block;padding:.95rem 2.2rem;border-radius:999px;border:0;background:var(--terra);color:#FBF8F1;font-family:'Poppins';font-weight:600;font-size:1.1rem;text-decoration:none;cursor:pointer;transition:background .25s,translate .15s}
.btn:hover{background:var(--terra-scura)}
.btn:active{translate:0 1px}
.kicker{display:block;font-weight:800;color:var(--verde);font-size:.935rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.1rem}
.hero{position:relative;min-height:calc(100dvh - 70px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.muro{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:6px;padding:6px}
.muro img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.muro .doppia{grid-row:span 2}
.muro .bn{filter:grayscale(1) contrast(1.05) brightness(.9)}
@media(prefers-reduced-motion:no-preference){
  .muro img{animation:tile .9s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--i,0)*35ms)}
  @keyframes tile{from{opacity:0;scale:.96}to{opacity:1;scale:1}}
  .hero-testo>*{animation:rise 1s cubic-bezier(.16,1,.3,1) .5s backwards}
  @keyframes rise{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}
}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(28,43,21,.84) 0%,rgba(28,43,21,.62) 55%,rgba(28,43,21,.42) 100%);z-index:1}
.hero-testo{position:relative;z-index:2;padding:3rem clamp(1.25rem,5vw,3rem);max-width:820px}
.hero h1{font-size:clamp(2.5rem,6.5vw,4.8rem);font-weight:700;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.hero .sub{margin-top:1.4rem;font-size:clamp(1.155rem,2vw,1.32rem);color:var(--crema);opacity:.92;max-width:46ch;margin-left:auto;margin-right:auto}
.hero .btn{margin-top:2.2rem}
@media(max-width:700px){
  .muro{grid-template-columns:repeat(2,1fr)}
  .muro img:nth-child(n+9){display:none}
}
.marquee{background:var(--terra);color:#FBF8F1;overflow:hidden;padding:.85rem 0}
.marquee .track{display:flex;gap:3rem;width:max-content;font-family:'Poppins';font-weight:600;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
@media(prefers-reduced-motion:no-preference){
  .marquee .track{animation:scorri 36s linear infinite}
}
@keyframes scorri{to{translate:-50% 0}}
.marquee em{font-style:normal;opacity:.65;font-size:.85em}
.cinema{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem clamp(1.25rem,5vw,3rem);background:var(--sfondo,none) center/cover no-repeat}
.cinema::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.36) 45%,rgba(20,28,15,.6) 78%,var(--fondo))}
.cinema>div{position:relative;max-width:56ch}
.cinema p.grande{font-family:'Poppins';font-weight:700;color:var(--crema);font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.2;letter-spacing:-.02em}
.cinema p.piccolo{margin-top:1.4rem;font-size:1.21rem;color:var(--sage)}
section{padding:clamp(4.5rem,9vw,7rem) clamp(1.25rem,5vw,3rem)}
.credo{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(3rem,7vw,5.5rem)}
.credo p{font-family:'Poppins';font-weight:700;color:var(--crema);font-size:clamp(1.7rem,4vw,2.9rem);line-height:1.2;letter-spacing:-.02em;max-width:19ch;border-left:3px solid var(--terra);padding-left:clamp(1rem,3vw,1.8rem)}
.credo p:nth-child(2){align-self:flex-end;border-left-color:var(--terra)}
.credo p b{color:var(--crema);font-weight:700;font-style:italic}
.voci{background:var(--fondo-3)}
.voci h2{font-size:clamp(2rem,4.2vw,3rem);text-align:center}
.voci .intro{text-align:center;max-width:46ch;margin:1rem auto 3rem}
.mosaico{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:210px;gap:14px;grid-auto-flow:dense}
.voce{position:relative;border-radius:var(--r);overflow:hidden;text-decoration:none;display:block;box-shadow:0 20px 40px -18px rgba(0,0,0,.5)}
.voce img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease,scale .5s cubic-bezier(.16,1,.3,1)}
.voce img.on{opacity:1}
.voce:hover img{scale:1.05}
.voce .velo{position:absolute;inset:0;z-index:3;background:linear-gradient(rgba(28,43,21,0) 30%,rgba(28,43,21,.5) 58%,rgba(28,43,21,.95));display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:1.1rem 1.2rem;transition:opacity .6s}
.voce .nome{font-family:'Poppins';font-weight:700;color:var(--crema);font-size:1.375rem;line-height:1.2;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.voce .stato{font-weight:800;font-size:.902rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,241,231,.72);margin-top:.35rem;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.voce.attiva{grid-column:span 2;grid-row:span 2}
.voce.attiva .nome{font-size:clamp(1.6rem,3vw,2.2rem)}
.voce.attiva .stato{background:var(--terra);color:var(--crema);padding:.34em .9em;border-radius:999px;margin-top:.6rem;text-shadow:none}
.voce.proponi{background:var(--fondo-2);border:1px solid var(--velo);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;text-align:center;padding:1.2rem}
.voce.proponi .nome{font-size:1.21rem;max-width:16ch}
.voce.proponi .stato{color:var(--verde)}
.voce.cta-voci{grid-column:3;grid-row:1/2}
.voce.cta-voci .nome{font-size:clamp(1.6rem,3vw,2.2rem)}
@media(max-width:860px){
  .mosaico{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .voce.attiva{grid-column:span 2}
  .voce.cta-voci{grid-column:auto;grid-row:auto}
}
@media(max-width:480px){
  .mosaico{grid-auto-rows:150px}
}
.movimenti{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}
.movimenti>div{border-top:3px solid var(--verde);padding-top:1.4rem}
.movimenti>div:last-child{border-top-color:var(--terra);margin-top:3rem}
.movimenti h3{font-size:1.5rem;margin-bottom:.7rem}
@media(max-width:768px){
  .movimenti{grid-template-columns:1fr}
  .movimenti>div:last-child{margin-top:0}
}
.teglie{background:var(--fondo-3)}
.teglie-grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:6fr 5fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:860px){
  .teglie-grid{grid-template-columns:1fr}
}
.teglie h2{font-size:clamp(2rem,4.2vw,3rem)}
.teglie p{margin-top:1.1rem;max-width:48ch}
.teglie .quote{font-family:'Poppins';font-weight:600;font-size:1.375rem;color:var(--crema);margin-top:1.8rem;line-height:1.5;max-width:34ch}
.teglie .quote small{display:block;margin-top:.6rem;font-family:'Nunito Sans';font-weight:700;color:var(--verde);font-size:.99rem}
.teglie .btn{margin-top:1.9rem}
.teglie-foto img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);rotate:1.2deg}
.news{text-align:center}
.news h2{font-size:clamp(2rem,4.2vw,2.8rem)}
.news p{max-width:44ch;margin:1rem auto 2rem}
.news form{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
.news input{width:min(340px,80vw);padding:.9rem 1.3rem;border-radius:999px;border:2px solid var(--velo);background:var(--fondo-2);font:inherit;color:var(--crema)}
.news input::placeholder{color:var(--muted)}
.news input:focus{border-color:var(--verde);outline:none}
.news .ok{margin-top:1.2rem;font-weight:800;color:var(--verde);opacity:0;transition:opacity .4s}
.news .ok.on{opacity:1}
.reveal{opacity:0;translate:0 26px;transition:opacity .8s cubic-bezier(.16,1,.3,1),translate .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0)*90ms)}
@media(prefers-reduced-motion:reduce){
  .marquee .track{animation:none}
}
