@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#122b1d;--green:#1c7546;--lime:#b9f35e;--cream:#f6f7ed;--soft:#e6f0df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:17px/1.6 'DM Sans',Arial,sans-serif;background:var(--cream)}h1,h2,h3,.brand{font-family:Outfit,Arial,sans-serif;line-height:1.1;letter-spacing:-.04em}h1{font-size:clamp(3.5rem,8vw,7.8rem);margin:18px 0 24px;font-weight:900}h2{font-size:clamp(2.4rem,5vw,4.5rem);margin:0 0 20px}h3{font-size:1.5rem;margin:12px 0}p{margin:0 0 18px}a{color:inherit}img{max-width:100%}.container{width:min(1180px,calc(100% - 44px));margin:auto}.top{position:sticky;top:0;z-index:20;background:rgba(246,247,237,.94);backdrop-filter:blur(18px);border-bottom:1px solid #d5e3d1}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.55rem;font-weight:900;letter-spacing:-.045em}.brand img{width:58px;height:58px;object-fit:contain}.links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.links a{text-decoration:none;font-weight:700;font-size:.91rem}.links a:hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:100px;padding:14px 24px;background:var(--lime);color:#16351e;font-weight:800;text-decoration:none;transition:.2s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #102a1a22}.button.dark{background:#133e2a;color:white}.button.outline{background:transparent;border:1px solid #ffffff77;color:white}.hero{background:radial-gradient(ellipse at 80% 20%,#66bb62 0%,transparent 35%),linear-gradient(130deg,#103e2b,#167a46 65%,#3c9b48);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:660px;gap:32px;padding:64px 0 80px}.eyebrow{text-transform:uppercase;font-size:.8rem;font-weight:900;letter-spacing:.2em}.hero p{font-size:1.23rem;max-width:580px;color:#e5f6e7}.hero-photo{height:550px;position:relative}.hero-photo img{height:100%;width:100%;object-fit:cover;border-radius:180px 180px 26px 26px;box-shadow:30px 30px 0 #b9f35e33}.sticker{position:absolute;bottom:25px;left:-30px;background:var(--lime);color:#153922;padding:20px 26px;border-radius:100px;font-weight:900;transform:rotate(-8deg)}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:95px 0}.section.alt{background:#e8f1e4}.section.dark{background:#123d2a;color:white}.section-head{max-width:770px;margin-bottom:36px}.muted{color:#607363}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border-radius:25px;overflow:hidden;box-shadow:0 12px 40px #0d3c2010}.card img{width:100%;height:270px;object-fit:cover;display:block}.card-body{padding:25px}.card p{color:#52665a}.card a{text-decoration:none;font-weight:800;color:#1a7745}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{width:100%;height:480px;object-fit:cover;border-radius:30px}.notice{background:#f3f6d5;border-left:5px solid #76a946;border-radius:14px;padding:23px 27px;margin:25px 0}.pill{display:inline-block;background:#d6f4b6;color:#225c32;border-radius:100px;padding:7px 14px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery a{display:block;overflow:hidden;border-radius:18px;aspect-ratio:1}.gallery img{width:100%;height:100%;object-fit:cover;transition:.3s}.gallery a:hover img{transform:scale(1.07)}.page-hero{background:linear-gradient(130deg,#103e2b,#208c4c);color:white;padding:95px 0}.page-hero h1{font-size:clamp(3rem,7vw,6rem)}.page-hero p{font-size:1.2rem;max-width:750px}.contact{background:var(--lime);padding:70px 0}.contact h2{max-width:850px}.footer{background:#0d2b1d;color:#e3f1e5;padding:55px 0}.footer a{color:#d7f5ca}.foot-grid{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}.small{font-size:.9rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{padding:32px;border-radius:24px;background:white}.step strong{font-size:3rem;color:#69a94c;font-family:Outfit}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.mobile-toggle{display:none}.photo-caption{font-size:.85rem;color:#5b705e;margin-top:8px}.gallery-intro{max-width:850px}.gallery a{position:relative}.gallery a span{position:absolute;bottom:0;left:0;right:0;color:white;font-weight:800;font-size:.85rem;padding:25px 10px 10px;background:linear-gradient(transparent,#071c12bd)}@media(max-width:900px){.hero-grid,.split{grid-template-columns:1fr}.hero-grid{padding:55px 0}.hero-photo{height:430px}.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.links{gap:12px}.links a{font-size:.82rem}}@media(max-width:620px){.nav{align-items:flex-start;padding:12px 0;flex-direction:column}.brand img{width:45px;height:45px}.links{width:100%;gap:12px;justify-content:space-between}.links a{font-size:.78rem}.links .button{padding:9px 13px}.hero-photo{height:330px}.sticker{left:4px;font-size:.75rem}.section{padding:60px 0}.cards,.steps{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.split img{height:320px}.container{width:min(1180px,calc(100% - 30px))}}
/* Annuncio prioritario nuova stagione */
.season-announcement{position:relative;overflow:hidden;background:linear-gradient(118deg,#123f29 0%,#176c3d 49%,#37944a 100%);color:#fff;padding:clamp(34px,5vw,70px) 0;border-bottom:6px solid #c5e878}.season-announcement:before{content:"";position:absolute;right:-120px;top:-170px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,#b8f28b3b,transparent 68%);pointer-events:none}.season-inner{display:flex;align-items:center;justify-content:space-between;gap:45px;position:relative}.season-copy{max-width:850px}.season-kicker{display:inline-block;background:#dbf3b9;color:#17452c;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:9px 15px;border-radius:40px;margin-bottom:19px}.season-announcement h2{font-size:clamp(2.1rem,4.6vw,4.5rem);line-height:1.06;letter-spacing:-.04em;margin:0 0 20px}.season-announcement p{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.55;margin:12px 0}.season-availability{background:#fff;color:#17432b;border-radius:14px;padding:16px 22px;margin:22px 0!important;box-shadow:0 10px 25px #0c291a30}.season-tagline{display:inline-block;font-weight:900;color:#d9f7aa;margin-top:15px;font-size:1.1rem}.season-symbol{font-size:clamp(4.5rem,9vw,9rem);line-height:1;font-weight:950;letter-spacing:-.08em;white-space:nowrap;color:#d9f7aa;text-align:center;opacity:.9}.season-symbol span{display:block;font-size:.85rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;margin-top:12px}@media(max-width:850px){.season-inner{display:block}.season-symbol{display:none}}

/* Rifiniture visive e identità originale */
.hero-wordmark{display:block;width:min(100%,460px);max-height:160px;object-fit:contain;object-position:left center;margin:0 0 28px;filter:drop-shadow(0 10px 22px #0b301f3a)}
.brand-name{font-size:1.15rem;letter-spacing:.035em}.links a[aria-current="page"]{color:#187b47;text-decoration:underline;text-underline-offset:7px}
.about-hero{background:radial-gradient(circle at 85% 15%,#3aaf64 0%,transparent 40%),linear-gradient(120deg,#0d3626,#1a7745);color:white;overflow:hidden;padding:85px 0 95px}.about-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center}.about-hero h1{font-size:clamp(3.1rem,6vw,6.6rem);line-height:1.02}.about-hero h1 em{font-style:normal;color:#c7f483}.about-hero p{max-width:640px;font-size:1.24rem;color:#e2f2e6}.about-hero-art{position:relative}.about-hero-art img{height:500px;width:100%;object-fit:cover;border-radius:32px;box-shadow:25px 25px 0 #baf1783d}.about-hero-art span{position:absolute;bottom:22px;left:-20px;background:#d1f38c;color:#143820;padding:14px 24px;border-radius:50px;font-weight:800;transform:rotate(-4deg)}.about-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.about-intro .lead,.about-person .lead{font-size:1.35rem;line-height:1.4;font-weight:750;color:#1a6740}.about-person{display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:center}.about-portrait img{width:100%;height:500px;object-fit:cover;border-radius:28px}.text-link{font-weight:800;color:#176b3d;text-decoration-thickness:2px;text-underline-offset:5px}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.about-values article{padding:32px;border:1px solid #d4e3cf;border-radius:24px;background:#fff}.value-number{font-size:3rem;font-weight:900;color:#6da753;line-height:1}.about-gallery{background:#eef4e8}.about-closing{padding:85px 0;text-align:center;background:linear-gradient(130deg,#0d3626,#20884a);color:white}.about-closing img{width:min(560px,85%);max-height:175px;object-fit:contain;margin-bottom:30px}.about-closing p{max-width:690px;margin:0 auto 25px;color:#e4f5e9}
@media(max-width:900px){.about-hero-grid,.about-intro,.about-person{grid-template-columns:1fr;gap:32px}.about-hero-art img{height:370px}.about-values{grid-template-columns:1fr}.about-hero{padding:60px 0}.hero-wordmark{max-width:350px}}
@media(max-width:620px){.about-hero-art span{left:5px}.about-portrait img{height:350px}.brand-name{font-size:1rem}}

/* Logo originale ad alta risoluzione e squadra completa */
.brand img{width:64px;height:64px;object-fit:contain;image-rendering:auto;flex-shrink:0}
.team-section{background:#eef4e8}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.team-card{background:white;border:1px solid #d8e7d3;border-radius:26px;overflow:hidden;box-shadow:0 10px 35px #103b1b0b}.team-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:12px;background:#e1ebdc}.team-photo{display:block;aspect-ratio:1.15;overflow:hidden;border-radius:10px}.team-photo-main{grid-column:span 4;aspect-ratio:2.15}.team-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.team-photo:hover img{transform:scale(1.05)}.team-body{padding:26px 28px}.team-body h3{margin:0 0 16px;font-size:1.8rem}.team-body p{font-size:.96rem;line-height:1.65;color:#405a48}.team-body p:last-child{margin-bottom:0}@media(max-width:760px){.team-grid{grid-template-columns:1fr}}@media(max-width:620px){.brand img{width:50px;height:50px}.team-body{padding:22px}}

/* Navigazione: la pillola verde indica soltanto la pagina corrente */
.links a[aria-current="page"], .links a[aria-current="page"]:hover {
  background:linear-gradient(120deg,#2dba68,#168a4e);
  color:#fff;
  padding:10px 16px;
  border-radius:999px;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(15,103,56,.20);
}
.links a.nav-contact {
  background:transparent;
  color:inherit;
  border:1px solid rgba(28,104,65,.35);
  border-radius:999px;
  padding:9px 15px;
}
.links a.nav-contact:hover {background:#e6f5e9;color:#176e41}
.links a:focus-visible {outline:3px solid #2dba68;outline-offset:3px}
@media(max-width:640px){.links a[aria-current="page"]{padding:8px 11px}.links a.nav-contact{padding:7px 10px}}

/* Filigrana originale del logo Riciclosauri, solo tratti neri trasformati in bianco */
.season-inner{align-items:center;min-height:570px}
.season-copy{position:relative;z-index:2;max-width:850px}
.season-symbol{position:relative;z-index:2;align-self:flex-end;margin-bottom:20px;min-width:270px}
.season-watermark{position:absolute;right:0;top:50%;transform:translateY(-57%);width:min(39vw,520px);height:auto;opacity:.37;pointer-events:none;z-index:1;filter:none}
.season-announcement:after{content:"";position:absolute;bottom:-85px;left:-5%;width:110%;height:145px;border-radius:50% 50% 0 0;background:linear-gradient(100deg,#31a75a88,#84d84b88);pointer-events:none;opacity:.55}
@media(max-width:850px){.season-inner{min-height:0}.season-watermark{width:250px;right:-50px;top:25px;transform:none;opacity:.14}.season-symbol{display:none}}


/* Filigrana discreta su tutte le sezioni verdi del sito */
.hero, .page-hero, .about-hero, .about-closing, .section.dark {position:relative; isolation:isolate;}
.hero::after, .page-hero::after, .about-hero::after, .about-closing::after, .section.dark::after {
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:min(36vw,460px);
  height:min(80%,460px);
  background:url('assets/logo-filigrana-bianco.png') center right / contain no-repeat;
  opacity:.15;
  pointer-events:none;
  z-index:0;
}
.hero > *, .page-hero > *, .about-hero > *, .about-closing > *, .section.dark > * {position:relative;z-index:1;}
/* La filigrana già presente nella fascia verde della home */
.season-watermark {opacity:.15;}
@media(max-width:850px){
  .hero::after, .page-hero::after, .about-hero::after, .about-closing::after, .section.dark::after {
    width:190px;
    height:190px;
    right:-45px;
    opacity:.09;
  }
  .season-watermark {opacity:.09;right:-45px;}
}
/* Immagini delle sezioni informative senza ritagli */
.split > img {object-fit:contain;height:auto;max-height:none;}
