:root{ 
  --brand: #3C5539; 
  --accent: #97B366; 
}

@keyframes floatUp { 
  from{ transform: translateY(16px); opacity:.0 } 
  to{ transform: translateY(0); opacity:1 } 
}

.reveal { 
  opacity: 0; 
  transform: translateY(16px); 
  transition: opacity .6s ease, transform .6s ease; 
}

.reveal.visible { 
  opacity: 1; 
  transform: translateY(0); 
}

.parallax img { 
  will-change: transform; 
  transition: transform .2s linear; 
}

.shadow-soft { 
  box-shadow: 0 10px 30px rgba(2,6,23,.08), 
              0 6px 12px rgba(2,6,23,.05); 
}

.btn-primary { 
  background: var(--accent); 
  color:white; 
  border-radius: 0.875rem; 
  padding: .85rem 1.25rem; 
  font-weight: 700; 
}

.btn-primary:hover { 
  filter: brightness(0.95); 
}

.glass { 
  background: rgba(255,255,255,.72); 
  backdrop-filter: blur(6px); 
  -webkit-backdrop-filter: blur(6px); 
}

html { 
  scroll-behavior: smooth; 
}

/* Ancien wrapper vidéo (supprimé si inutile)
.video-wrapper { 
  position: relative; 
  border-radius: 1rem; 
  overflow: hidden; 
}
.video-wrapper::after { 
  content: ""; 
  position: absolute; 
  inset: 0; 
  box-shadow: inset 0 0 0 1px rgba(2,6,23,.08); 
  border-radius: 1rem; 
  pointer-events:none; 
} 
*/

/* === Bloc texte URBABIM === */
.prose-custom {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #334155; /* slate-700 */
}

.prose-custom p {
  margin-bottom: 1.2rem;
}

.prose-custom strong {
  color: var(--brand); /* cohérence avec le thème */
}

.prose-custom h2 {
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
}


:root {
  --brand: #3C5539;
  --brand-600: #3C5539;
  --accent: #97B366;
  --accent-400: #97B366;
  --text: #111827;
  --bg: #ffffff;
}

/* Base */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--brand)}
.btn-primary{
  background: var(--brand);
  color:#fff;
  border:none;
  padding:.75rem 1rem;
  border-radius:.75rem;
  text-decoration:none;
  display:inline-block;
}
.btn-primary:hover{background: var(--accent)}

/* Containers */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}

/* Cards */
.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1rem;padding:1rem}

/* Header/Footer accents */
.header, header{background:linear-gradient(135deg, var(--brand), var(--accent));color:#fff}
footer{background:var(--brand);color:#fff}

/* Nav (fallback responsive) */
.navbar, nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;padding:.75rem 1rem}
.navbar a, nav a{text-decoration:none;padding:.5rem .75rem;border-radius:.5rem;color:inherit}
.navbar a:hover, nav a:hover{background:rgba(255,255,255,.15)}

/* Typography */
h1,h2,h3{line-height:1.15;margin:.5em 0;font-weight:700;color:var(--brand)}
p{line-height:1.6;color:var(--text)}

/* Grids */
.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Media queries */
@media (max-width: 1024px){
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 768px){
  .grid-2, .grid-3{grid-template-columns:1fr}
  .navbar, nav{flex-direction:column;align-items:stretch}
}

/* Utilities */
.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}
.p-2{padding:.5rem}
.p-4{padding:1rem}
.rounded-xl{border-radius:1rem}
.shadow-soft{box-shadow:0 10px 30px rgba(0,0,0,.08)}
