    body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background-color: #faf8f4; color: #292524; }
    h1, h2, h3, .font-display { font-family: Georgia, "Times New Roman", serif; }

    /* ── Scroll suave ── */
    html { scroll-behavior: smooth; }

    /* ── Hero parallax leve ── */
    .hero-bg {
      background-color: #344733;
      background-image: radial-gradient(ellipse at 78% 18%, rgba(199, 213, 178, .42), transparent 34%), linear-gradient(122deg, #273a2e 0%, #4c6342 56%, #788568 100%);
      background-size: cover;
      min-height: 100vh;
      min-height: 100svh;
    }

    .site-logo { display: block; width: 190px; height: 42px; object-fit: cover; object-position: center; }
    @media (max-width: 420px) { .site-logo { width: 158px; height: 38px; } }

    /* ── Overlay degradado hero ── */
    .hero-overlay {
      background: linear-gradient(
        to bottom,
        rgba(22,32,24,0.08) 0%,
        rgba(22,32,24,0.28) 60%,
        rgba(22,32,24,0.62) 100%
      );
    }

    /* ── Línea decorativa tipo editorial ── */
    .rule-line::before {
      content: '';
      display: inline-block;
      width: 40px;
      height: 1px;
      background: #5d7f3e;
      vertical-align: middle;
      margin-right: 12px;
    }

    /* ── Animación fade-up on scroll ── */
    .fade-up { opacity: 1; transform: none; transition: opacity 0.7s ease, transform 0.7s ease; }
    .js .fade-up { opacity: 0; transform: translateY(32px); }
    .js .fade-up.visible { opacity: 1; transform: translateY(0); }
    section[id] { scroll-margin-top: 5rem; }
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #7fa05c; outline-offset: 3px; }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .fade-up, .js .fade-up { opacity: 1; transform: none; } }

    /* ── Galería hover zoom ── */
    .gallery-item img { transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); }

    /* ── Ficha técnica card ── */
    .feature-card { transition: box-shadow 0.3s ease, transform 0.3s ease; }
    @media (hover: hover) and (pointer: fine) {
      .gallery-item:hover img { transform: scale(1.04); }
      .feature-card:hover { box-shadow: 0 12px 40px rgba(93,127,62,0.15); transform: translateY(-4px); }
    }

    /* ── Nav sticky blur ── */
    .nav-blur { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

    @media (max-width: 640px) {
      /* Separa el CTA del hero del indicador Scroll en pantallas angostas. */
      .hero-bg > .relative.z-10 { padding-bottom: 8rem; }
      input, select, textarea { font-size: 16px !important; }
    }

    @supports not (backdrop-filter: blur(1px)) {
      .nav-blur { background-color: #fff; }
    }

    /* ── Formulario focus ── */
    input:focus, textarea:focus, select:focus { outline: none; border-color: #5d7f3e; box-shadow: 0 0 0 3px rgba(93,127,62,0.15); }

    /* ── Scrollbar custom ── */
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: #f5f5f4; }
    ::-webkit-scrollbar-thumb { background: #a3bf85; border-radius: 3px; }
