:root {
  --verde:       #607250;
  --verde-oscuro:#465538;
  --verde-claro: #B79D82;
  --terracota:   #C17048;
  --crema:       #F4EDE5;
  --crema-suave: #FAF5EE;
  --blanco:      #FFFDF9;
  --tinta:       #2E2A24;
  --tinta-suave: #6B6558;

  --serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --sans:  'Inter', system-ui, sans-serif;
  --script:'Great Vibes', cursive;

  --container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  color: var(--tinta);
  background: var(--crema);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-weight: 500; }
p  { margin: 0; }

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
.reveal.in { opacity: 1; transform: none; }

/* Page hero - small banner */
.page-banner {
  padding: 80px 0 60px;
  background: linear-gradient(180deg, var(--crema) 0%, var(--crema-suave) 100%);
  border-bottom: 1px solid rgba(96,114,80,.12);
  text-align: center;
}
.page-banner .eyebrow {
  font-size: 12px; letter-spacing: .3em; color: var(--terracota);
  font-weight: 600; margin-bottom: 16px;
}
.page-banner h1 {
  font-family: var(--serif); font-size: clamp(44px, 5vw, 72px);
  font-weight: 500; line-height: 1.05; color: var(--verde-oscuro);
}
.page-banner p {
  margin: 22px auto 0; max-width: 620px;
  font-size: 17px; line-height: 1.7; color: var(--tinta-suave);
}

.text-right-desktop { text-align: right; }

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .container { padding: 0 20px; }

  /* Nav */
  .nav-desktop { display: none !important; }
  .nav-mobile-btn { display: flex !important; }
  .nav-mobile-menu { display: flex !important; }

  /* Page banner */
  .page-banner { padding: 48px 0 36px; }
  .page-banner h1 { font-size: clamp(30px, 7vw, 44px); }

  /* Grids */
  .grid-responsive { grid-template-columns: 1fr !important; gap: 24px !important; }
  .grid-responsive-2 { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* Fotos Dary & Laura */
  .fotos-fundadoras { flex-direction: column !important; align-items: center !important; }
  .fotos-fundadoras > div { margin-top: 0 !important; }

  /* Secciones padding */
  .section-pad { padding: 60px 0 !important; }

  /* Footer */
  .footer-inner { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 32px !important; }

  /* Hero */
  .hero-content { padding: 48px 0 !important; }

  /* Botones apilados */
  .btn-group { flex-direction: column !important; align-items: flex-start !important; }

  /* Ocultar decoración grande */
  .deco-text { display: none !important; }

  /* Texto centrado en móvil */
  .text-right-desktop { text-align: center !important; }

  /* Imágenes hero */
  .hero-section { min-height: 50vh !important; }

  /* Ocultar redes en mobile header */
  .nav-social { display: none !important; }
}

@media (max-width: 900px) {
  .grid-3-cols { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 600px) {
  .grid-3-cols { grid-template-columns: 1fr !important; }
  .grid-2-cols { grid-template-columns: 1fr !important; gap: 20px !important; }
  .pilares-card { padding: 32px 24px !important; }
  .pilar-item { padding-left: 0 !important; border-left: none !important; padding-top: 28px; border-top: 1px solid rgba(96,114,80,.18); }
  .reverse-mobile { direction: ltr !important; }
  .section-pad { padding: 48px 0 !important; }
  .page-banner { padding: 40px 0 28px !important; }
}
