:root{--gold:#F7B648;--dark:#0F0F0F;}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;}
section,footer{scroll-snap-align:start;}
body { font-family: "Source Sans Pro", sans-serif; }

@media (max-width: 640px) {
  html { scroll-snap-type: none; }
  section, footer { scroll-snap-align: none; }
}

/* Remplacement minimal du plugin typography */
.prose { max-width: 65ch; line-height: 1.6; margin-left:auto; margin-right:auto; }
.prose h2, .prose h3 { margin-top: 1.2em; margin-bottom: .6em; }
.prose p, .prose ul, .prose ol { margin-bottom: 1em; }
.prose-invert { color: #e5e5e5; }
.prose-invert a { color: var(--gold); }


/* Justification Story Overview */
.justify-prose.prose p {
  text-align: justify !important;
}

/* Gallery & images grandes sur desktop */
@media (min-width: 768px) {
  .prose h2 {
    font-size: 2.5rem;
  }
  .prose p {
    font-size: 1.25rem;
  }
}

/* Fixe le centrage du footer sur mobile */
footer {
  text-align: center;
}

footer p,
footer div {
  width: 100%;
  justify-content: center;
}

/* Micro-fix: input subscribe full width on mobile */
@media (max-width: 640px) {
  #subscribe input[type="email"] {
    width: 100% !important;
  }
}

/* Hover effet gold sur links (bonus si tu veux) */
a:hover, button:hover {
  filter: brightness(1.1);
  transition: filter 0.2s;
}

.img-hover-zoom {
  transition: transform 0.7s cubic-bezier(0.23,1,0.32,1) !important;
}
.img-hover-zoom:hover,
.img-hover-zoom:active {
  transform: scale(1.05) !important;
}

.section-separator-dark {
  width: 100vw;
  height: 40px;
  background: linear-gradient(to bottom, #18181b 0%, var(--dark) 100%);
}
.section-separator-footer {
  width: 100vw;
  height: 40px;
  background: linear-gradient(to bottom, var(--dark) 0%, #27272a 100%);
}
