.journey-hero {
  min-height: 62svh;
  padding: clamp(135px, 16vw, 200px) clamp(22px, 7vw, 110px) clamp(70px, 9vw, 120px);
  display: flex;
  align-items: end;
  background: var(--blue);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.journey-hero::after {
  content: ",";
  position: absolute;
  right: 4%;
  top: -35%;
  color: rgba(255, 255, 255, .09);
  font: 800 clamp(22rem, 46vw, 46rem)/1 Manrope, sans-serif;
}

.journey-hero-copy { position: relative; z-index: 1; max-width: 1000px; }
.journey-hero .section-tag { color: #a9cee9; }
.journey-hero h1 { font-size: clamp(3.8rem, 9vw, 8.5rem); }
.journey-hero p:last-child { max-width: 720px; font-size: 1.2rem; color: #d5e4f0; }

.community {
  padding: clamp(75px, 10vw, 140px) clamp(22px, 7vw, 110px);
  background: #fff;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  overflow: hidden;
}

.community-intro h2 {
  font-size: clamp(2.8rem, 5.7vw, 6rem);
  line-height: 1;
  color: var(--blue);
  position: sticky;
  top: 2rem;
}

.community-intro h2 em {
  color: var(--green);
  font-style: normal;
}

.community-copy {
  align-self: end;
  max-width: 760px;
}

.community-copy p {
  color: #465467;
  font-size: 1.08rem;
  margin: 0 0 1.15rem;
}

.community-copy strong { color: var(--ink); }

.community-copy .community-closing {
  margin-top: 2rem;
  padding: 1.35rem 0 1.35rem 1.5rem;
  border-left: 4px solid var(--red);
  color: var(--blue);
  font-weight: 700;
  font-size: 1.16rem;
}

.community-gallery {
  grid-column: 1 / -1;
  margin-top: clamp(1rem, 3vw, 3rem);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 74px;
  gap: 14px;
}

.community-gallery figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  min-height: 0;
}

.community-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.community-photo:hover img { transform: scale(1.025); }

.community-gallery figcaption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  width: fit-content;
  max-width: calc(100% - 2rem);
  padding: .55rem .85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: var(--blue);
  font-weight: 800;
  font-size: .82rem;
  box-shadow: 0 8px 25px rgba(16, 32, 51, .15);
}

.community-cutout {
  grid-column: 11 / span 2;
  grid-row: 1 / span 3;
  background: linear-gradient(145deg, var(--blue), #1262a4 60%, var(--green));
}

.community-cutout::before {
  content: ",";
  position: absolute;
  right: 3%;
  top: -24%;
  color: rgba(255, 255, 255, .12);
  font: 800 25rem/1 Manrope, sans-serif;
}

.community-cutout img {
  position: absolute;
  inset: 4% 0 0;
  width: 100%;
  height: 96%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0, .18));
}

.community-cutout figcaption span { color: var(--red); margin-right: .45rem; }
.community-photo-table { grid-column: 1 / span 5; grid-row: 1 / span 3; }
.community-photo-table img { object-position: center 58%; }
.community-photo-associations { grid-column: 6 / span 3; grid-row: 1 / span 3; }
.community-photo-associations img { object-position: center 52%; }
.community-photo-territories { grid-column: 9 / span 2; grid-row: 1 / span 3; }
.community-photo-meeting { grid-column: 1 / span 6; grid-row: 4 / span 3; }
.community-photo-meeting img { object-position: center 58%; }
.community-photo-group { grid-column: 7 / span 6; grid-row: 4 / span 3; }
.community-photo-group img { object-position: center 45%; }
.community-photo-dialogue { grid-column: 3 / span 8; grid-row: 7 / span 3; }
.community-photo-dialogue img { object-position: center 48%; }

.journey-milestone {
  padding: clamp(85px, 11vw, 155px) clamp(22px, 7vw, 110px);
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  background: var(--cream);
  position: relative;
  overflow: hidden;
}

.journey-milestone::after {
  content: ",";
  position: absolute;
  right: -2%;
  bottom: -42%;
  color: rgba(6, 61, 122, .07);
  font: 800 clamp(22rem, 42vw, 42rem)/1 Manrope, sans-serif;
}

.milestone-photo {
  margin: 0;
  position: relative;
  z-index: 1;
  justify-self: center;
  width: min(100%, 540px);
  transform: rotate(-1.7deg);
}

.milestone-photo::before {
  content: "";
  position: absolute;
  inset: 3% -5% -3% 5%;
  border-radius: 34px;
  background: var(--green);
  transform: rotate(3deg);
}

.milestone-photo img {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center;
  border-radius: 30px;
  box-shadow: 0 28px 70px rgba(21, 42, 61, .2);
}

.milestone-photo p {
  position: absolute;
  left: 1.1rem;
  bottom: 1.1rem;
  margin: 0;
  padding: .65rem .95rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .95);
  color: var(--blue);
  font-weight: 800;
  box-shadow: 0 8px 24px rgba(16, 32, 51, .16);
}

.milestone-copy {
  position: relative;
  z-index: 1;
  max-width: 790px;
}

.milestone-copy h2,
.journey-continues h2,
.journey-next h2 {
  font-size: clamp(3rem, 6.4vw, 6.8rem);
  line-height: .98;
}

.milestone-copy h2 { color: var(--blue); }
.milestone-copy > p:not(.section-tag) { color: #465467; font-size: 1.1rem; }
.milestone-copy .milestone-lead { margin-top: 2rem; color: var(--ink); font-size: clamp(1.25rem, 1.8vw, 1.6rem); line-height: 1.42; }
.milestone-copy .milestone-emphasis {
  margin-top: 2rem;
  padding: 1.35rem 0 1.35rem 1.5rem;
  border-left: 4px solid var(--red);
  color: var(--blue);
  font-weight: 700;
}

.journey-continues {
  padding: clamp(85px, 11vw, 155px) clamp(22px, 7vw, 110px);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  background: var(--blue);
  color: #fff;
}

.continues-copy { max-width: 790px; }
.continues-copy .section-tag { color: #9ec8e7; }
.continues-copy h2 em { color: #74c997; font-style: normal; }
.continues-copy > p:not(.section-tag) { color: #d7e6f1; font-size: 1.1rem; }
.continues-copy strong { color: #fff; }

.continues-photo {
  margin: 0;
  position: relative;
  justify-self: center;
  width: min(100%, 520px);
}

.continues-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 45%;
  border-radius: 30px;
  filter: brightness(1.14) contrast(.97) saturate(.95);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .26);
}

.continues-photo figcaption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  width: fit-content;
  max-width: calc(100% - 2rem);
  padding: .65rem .95rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .95);
  color: var(--blue);
  font-weight: 800;
}

.journey-next {
  padding: clamp(90px, 12vw, 170px) clamp(22px, 7vw, 110px);
  background: var(--green);
  color: #fff;
  text-align: center;
}

.journey-next .section-tag { color: #cbe6d7; }
.journey-next h2 { max-width: 1050px; margin-inline: auto; }
.journey-next > p:not(.section-tag) { margin: 1.5rem auto 0; color: #e0f0e6; font-size: 1.15rem; }
.journey-next .button { margin-top: 2rem; background: #fff; color: var(--green); }

@media (max-width: 860px) {
  .community { grid-template-columns: 1fr; gap: 2rem; }
  .community-intro h2 { position: static; }
  .community-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 180px; }
  .community-cutout { grid-column: 1 / -1; grid-row: auto; min-height: 480px; }
  .community-photo-table,
  .community-photo-associations,
  .community-photo-territories,
  .community-photo-meeting,
  .community-photo-group,
  .community-photo-dialogue { grid-column: auto; grid-row: auto; }
  .community-photo-table { grid-column: 1 / -1; }
  .community-photo-dialogue { grid-column: 1 / -1; }
  .journey-milestone,
  .journey-continues { grid-template-columns: 1fr; }
  .journey-continues .continues-photo { grid-row: 1; }
}

@media (max-width: 520px) {
  .journey-hero { min-height: 54svh; }
  .journey-hero h1 { font-size: 3.5rem; }
  .community-gallery { grid-template-columns: 1fr; grid-auto-rows: 250px; }
  .community-cutout { grid-column: 1; min-height: 390px; }
  .community-photo-table { grid-column: 1; }
  .community-photo-dialogue { grid-column: 1; }
  .community-gallery figure { border-radius: 20px; }
  .community-gallery figcaption { font-size: .76rem; }
  .journey-milestone,
  .journey-continues { padding-block: 80px; }
  .milestone-photo,
  .continues-photo { width: 100%; }
  .milestone-photo::before { inset: 2% -2% -2% 2%; }
  .milestone-copy h2,
  .journey-continues h2,
  .journey-next h2 { font-size: 3.35rem; }
}

/* Drancitalie — 10 ottobre 2026 */
.drancy-chapter{padding:90px clamp(22px,7vw,110px);background:#fcfbf8;display:grid;grid-template-columns:.82fr 1.18fr;gap:44px 65px}
.drancy-heading h2{font-size:clamp(2.8rem,5.7vw,6rem);line-height:1;color:#083f7d} .drancy-heading h2 em{color:#00833e;font-style:normal} .drancy-lead{font-size:1.25rem;color:#465467;margin-top:30px} .drancy-copy p{font-size:1.08rem;color:#465467;margin:0 0 20px} .drancy-copy strong{color:#102033} .drancy-emphasis{border-left:4px solid #e4002b;padding:12px 0 12px 24px;color:#083f7d!important;font-weight:700}
.drancy-photos{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px} .drancy-photos figure{margin:0;position:relative} .drancy-photos img{width:100%;height:auto;border-radius:26px} .drancy-photos figcaption{font-size:.82rem;color:#083f7d;font-weight:600;margin-top:12px}
.drancy-memory{grid-column:1/-1;padding:35px;background:#f4efe6;border-radius:26px;display:grid;grid-template-columns:.7fr 1.3fr;gap:40px} .drancy-memory h3{font-size:2.3rem;color:#083f7d;line-height:1.1} .drancy-memory p{color:#465467;margin-top:0} .drancy-memory .section-tag{color:#0c579b} .drancy-memory a{color:#083f7d;font-size:.85rem;text-underline-offset:4px}
@media(max-width:860px){.drancy-chapter{grid-template-columns:1fr;gap:25px}.drancy-memory{grid-template-columns:1fr;gap:22px}}
@media(max-width:520px){.drancy-photos{grid-template-columns:1fr}.drancy-chapter{padding-block:65px}.drancy-memory{padding:25px}}


/* Nuove tappe: partecipazione e radio */
.new-chapter{padding:100px clamp(22px,7vw,110px);display:grid;grid-template-columns:.82fr 1.18fr;gap:45px 65px}.weekend-chapter{background:var(--cream)}.chapter-heading h2{font-size:clamp(2.8rem,4.7vw,5rem);line-height:1;color:var(--blue)}.chapter-heading h2 em{font-style:normal;color:var(--green)}.chapter-copy p{font-size:1.08rem;color:#465467;margin:0 0 20px}.chapter-copy .chapter-lead{font-size:1.3rem;line-height:1.45;color:var(--ink)}.chapter-copy strong{color:var(--ink)}.chapter-support{margin-top:32px;border-left:4px solid var(--green);padding:6px 0 4px 25px}.chapter-support h3{font-size:2rem;line-height:1.12;color:var(--blue);margin:0 0 20px}.chapter-support .section-tag{font-size:.72rem}.chapter-support a,.chapter-links a{font-weight:700;text-underline-offset:5px}.chapter-photos{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}.chapter-photos figure,.radio-photo{margin:0}.chapter-photos img{width:100%;border-radius:26px}.chapter-photos figure:first-child img{aspect-ratio:4/3;object-fit:cover}.chapter-photos figure:last-child img{aspect-ratio:4/5;object-fit:cover;object-position:center 63%}.new-chapter figcaption{font-size:.84rem;margin-top:12px;color:var(--blue)}.radio-chapter{background:var(--blue);color:white}.radio-chapter .section-tag{color:#a9cee9}.radio-chapter h2{color:white}.radio-chapter h2 em{color:#74c997}.radio-chapter .chapter-copy p{color:#d7e6f1}.radio-chapter .chapter-copy strong,.radio-chapter .chapter-copy .chapter-lead{color:white}.chapter-emphasis{border-left:4px solid #74c997;padding:10px 0 10px 24px;font-weight:700}.chapter-links{display:flex;flex-wrap:wrap;gap:15px 28px;margin-top:28px}.radio-photo{grid-column:1/-1}.radio-photo img{width:100%;border-radius:26px}.radio-chapter figcaption{color:#d7e6f1}@media(max-width:860px){.new-chapter{grid-template-columns:1fr;gap:28px}.chapter-photos{grid-template-columns:1fr 1fr}}@media(max-width:520px){.new-chapter{padding-block:65px}.chapter-photos{grid-template-columns:1fr}.chapter-heading h2{font-size:3.1rem}.chapter-support h3{font-size:1.8rem}.chapter-photos figure:last-child img{aspect-ratio:3/4}.radio-photo img{border-radius:18px}}
