html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Textura sutil de fondo */
.grano {
  background-image:
    radial-gradient(circle at 20% 30%, rgba(126,148,113,.06) 0, transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(169,102,59,.05) 0, transparent 40%);
}

/* Aparición al hacer scroll */
.reveal { opacity: 0; transform: translateY(20px); }
.reveal.is-in {
  opacity: 1; transform: none;
  transition: opacity .8s cubic-bezier(.22,.7,.28,1), transform .8s cubic-bezier(.22,.7,.28,1);
}

@keyframes flotar { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-14px) rotate(2deg); } }
.flota { animation: flotar 9s ease-in-out infinite; }

/* Subrayado animado del menú */
.link-nav { position: relative; }
.link-nav::after {
  content: ''; position: absolute; left: 0; bottom: -4px;
  width: 100%; height: 1.5px; background: currentColor;
  transform: scaleX(0); transform-origin: right; transition: transform .35s ease;
}
.link-nav:hover::after, .link-nav:focus-visible::after,
.link-nav[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.link-nav[aria-current="page"] { color: #7E9471; }

:focus-visible { outline: 2.5px solid #A9663B; outline-offset: 3px; border-radius: 4px; }

/* Marcadores de datos que tenés que completar en las páginas legales */
.marcador {
  background: #F6E7C8; color: #7A4A21; border-bottom: 1.5px dashed #A9663B;
  padding: 0 .25rem; border-radius: 3px; font-size: .95em;
}

/* Acordeón de preguntas frecuentes */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .chevron { transform: rotate(180deg); }
.chevron { transition: transform .3s ease; }

/* Texto legal legible */
.prosa p { margin-bottom: 1rem; line-height: 1.75; }
.prosa ul { margin: 0 0 1rem 1.25rem; list-style: disc; }
.prosa li { margin-bottom: .5rem; line-height: 1.7; }
.prosa h3 { font-family: Fraunces, Georgia, serif; font-size: 1.3rem; margin: 2.25rem 0 .75rem; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .flota { animation: none; }
  * { transition-duration: .01ms !important; }
}
