/* Self-hosted fonts */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-v14-latin-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-v14-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-v14-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-v14-latin-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/playfair-display-v30-latin-600.ttf') format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/playfair-display-v30-latin-700.ttf') format('truetype');
}
/* Aves Nativas Chilenas - Generated CSS */
/* Based on Tailwind utility classes used in templates */
/* Compiled: 2026-07-10 17:13 */

/* === BASE === */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -moz-tab-size: 4; tab-size: 4; scroll-behavior: smooth; }
body { margin: 0; font-family: 'Inter', -apple-system, sans-serif; line-height: 1.625; color: #1e293b; background-color: #ffffff; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: inherit; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6 { font-family: 'Playfair Display', Georgia, serif; }

/* === UTILITIES === */
.block { display: block; }
.inline-block { display: inline-block; }
.inline { display: inline; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.hidden { display: hidden; }
.flex-row { flex-direction: row; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }
.flex-1 { flex: 1 1 0%; }
.flex-shrink-0 { flex-shrink: 0; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-start { justify-content: flex-start; }
.justify-end { justify-content: flex-end; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.items-stretch { align-items: stretch; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 1024px) {
  .lg\:grid-cols-\[1fr_300px\] { grid-template-columns: 1fr 300px; }
}
.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-1.5 { gap: 0.375rem; }
.gap-2 { gap: 0.5rem; }
.gap-2.5 { gap: 0.625rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.p-0 { padding: 0; }
.p-0.5 { padding: 0.125rem; }
.p-1 { padding: 0.25rem; }
.p-1.5 { padding: 0.375rem; }
.p-2 { padding: 0.5rem; }
.p-2.5 { padding: 0.625rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.p-5 { padding: 1.25rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.p-10 { padding: 2.5rem; }
.p-12 { padding: 3rem; }
.p-16 { padding: 4rem; }
.p-20 { padding: 5rem; }
.px-0 { padding-left: 0; padding-right: 0; }
.px-0.5 { padding-left: 0.125rem; padding-right: 0.125rem; }
.px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.px-1.5 { padding-left: 0.375rem; padding-right: 0.375rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-2.5 { padding-left: 0.625rem; padding-right: 0.625rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
.px-12 { padding-left: 3rem; padding-right: 3rem; }
.px-16 { padding-left: 4rem; padding-right: 4rem; }
.px-20 { padding-left: 5rem; padding-right: 5rem; }
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-0.5 { padding-top: 0.125rem; padding-bottom: 0.125rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-1.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-2.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.pt-0 { padding-top: 0; }
.pt-0.5 { padding-top: 0.125rem; }
.pt-1 { padding-top: 0.25rem; }
.pt-1.5 { padding-top: 0.375rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-2.5 { padding-top: 0.625rem; }
.pt-3 { padding-top: 0.75rem; }
.pt-4 { padding-top: 1rem; }
.pt-5 { padding-top: 1.25rem; }
.pt-6 { padding-top: 1.5rem; }
.pt-8 { padding-top: 2rem; }
.pt-10 { padding-top: 2.5rem; }
.pt-12 { padding-top: 3rem; }
.pt-16 { padding-top: 4rem; }
.pt-20 { padding-top: 5rem; }
.pb-0 { padding-bottom: 0; }
.pb-0.5 { padding-bottom: 0.125rem; }
.pb-1 { padding-bottom: 0.25rem; }
.pb-1.5 { padding-bottom: 0.375rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-2.5 { padding-bottom: 0.625rem; }
.pb-3 { padding-bottom: 0.75rem; }
.pb-4 { padding-bottom: 1rem; }
.pb-5 { padding-bottom: 1.25rem; }
.pb-6 { padding-bottom: 1.5rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pb-12 { padding-bottom: 3rem; }
.pb-16 { padding-bottom: 4rem; }
.pb-20 { padding-bottom: 5rem; }
.pl-0 { padding-left: 0; }
.pl-0.5 { padding-left: 0.125rem; }
.pl-1 { padding-left: 0.25rem; }
.pl-1.5 { padding-left: 0.375rem; }
.pl-2 { padding-left: 0.5rem; }
.pl-2.5 { padding-left: 0.625rem; }
.pl-3 { padding-left: 0.75rem; }
.pl-4 { padding-left: 1rem; }
.pl-5 { padding-left: 1.25rem; }
.pl-6 { padding-left: 1.5rem; }
.pl-8 { padding-left: 2rem; }
.pl-10 { padding-left: 2.5rem; }
.pl-12 { padding-left: 3rem; }
.pl-16 { padding-left: 4rem; }
.pl-20 { padding-left: 5rem; }
.pr-0 { padding-right: 0; }
.pr-0.5 { padding-right: 0.125rem; }
.pr-1 { padding-right: 0.25rem; }
.pr-1.5 { padding-right: 0.375rem; }
.pr-2 { padding-right: 0.5rem; }
.pr-2.5 { padding-right: 0.625rem; }
.pr-3 { padding-right: 0.75rem; }
.pr-4 { padding-right: 1rem; }
.pr-5 { padding-right: 1.25rem; }
.pr-6 { padding-right: 1.5rem; }
.pr-8 { padding-right: 2rem; }
.pr-10 { padding-right: 2.5rem; }
.pr-12 { padding-right: 3rem; }
.pr-16 { padding-right: 4rem; }
.pr-20 { padding-right: 5rem; }
.m-0 { margin: 0; }
.m-0.5 { margin: 0.125rem; }
.m-1 { margin: 0.25rem; }
.m-1.5 { margin: 0.375rem; }
.m-2 { margin: 0.5rem; }
.m-2.5 { margin: 0.625rem; }
.m-3 { margin: 0.75rem; }
.m-4 { margin: 1rem; }
.m-5 { margin: 1.25rem; }
.m-6 { margin: 1.5rem; }
.m-8 { margin: 2rem; }
.m-10 { margin: 2.5rem; }
.m-12 { margin: 3rem; }
.m-16 { margin: 4rem; }
.m-20 { margin: 5rem; }
.m-auto { margin: auto; }
.mx-0 { margin-left: 0; margin-right: 0; }
.mx-0.5 { margin-left: 0.125rem; margin-right: 0.125rem; }
.mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
.mx-1.5 { margin-left: 0.375rem; margin-right: 0.375rem; }
.mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
.mx-2.5 { margin-left: 0.625rem; margin-right: 0.625rem; }
.mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
.mx-4 { margin-left: 1rem; margin-right: 1rem; }
.mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
.mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-8 { margin-left: 2rem; margin-right: 2rem; }
.mx-10 { margin-left: 2.5rem; margin-right: 2.5rem; }
.mx-12 { margin-left: 3rem; margin-right: 3rem; }
.mx-16 { margin-left: 4rem; margin-right: 4rem; }
.mx-20 { margin-left: 5rem; margin-right: 5rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.my-0 { margin-top: 0; margin-bottom: 0; }
.my-0.5 { margin-top: 0.125rem; margin-bottom: 0.125rem; }
.my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
.my-1.5 { margin-top: 0.375rem; margin-bottom: 0.375rem; }
.my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
.my-2.5 { margin-top: 0.625rem; margin-bottom: 0.625rem; }
.my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
.my-4 { margin-top: 1rem; margin-bottom: 1rem; }
.my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
.my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-8 { margin-top: 2rem; margin-bottom: 2rem; }
.my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.my-12 { margin-top: 3rem; margin-bottom: 3rem; }
.my-16 { margin-top: 4rem; margin-bottom: 4rem; }
.my-20 { margin-top: 5rem; margin-bottom: 5rem; }
.my-auto { margin-top: auto; margin-bottom: auto; }
.mt-0 { margin-top: 0; }
.mt-0.5 { margin-top: 0.125rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-1.5 { margin-top: 0.375rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-2.5 { margin-top: 0.625rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-12 { margin-top: 3rem; }
.mt-16 { margin-top: 4rem; }
.mt-20 { margin-top: 5rem; }
.mt-auto { margin-top: auto; }
.mb-0 { margin-bottom: 0; }
.mb-0.5 { margin-bottom: 0.125rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-1.5 { margin-bottom: 0.375rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-2.5 { margin-bottom: 0.625rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 1.25rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.mb-20 { margin-bottom: 5rem; }
.mb-auto { margin-bottom: auto; }
.ml-0 { margin-left: 0; }
.ml-0.5 { margin-left: 0.125rem; }
.ml-1 { margin-left: 0.25rem; }
.ml-1.5 { margin-left: 0.375rem; }
.ml-2 { margin-left: 0.5rem; }
.ml-2.5 { margin-left: 0.625rem; }
.ml-3 { margin-left: 0.75rem; }
.ml-4 { margin-left: 1rem; }
.ml-5 { margin-left: 1.25rem; }
.ml-6 { margin-left: 1.5rem; }
.ml-8 { margin-left: 2rem; }
.ml-10 { margin-left: 2.5rem; }
.ml-12 { margin-left: 3rem; }
.ml-16 { margin-left: 4rem; }
.ml-20 { margin-left: 5rem; }
.ml-auto { margin-left: auto; }
.mr-0 { margin-right: 0; }
.mr-0.5 { margin-right: 0.125rem; }
.mr-1 { margin-right: 0.25rem; }
.mr-1.5 { margin-right: 0.375rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-2.5 { margin-right: 0.625rem; }
.mr-3 { margin-right: 0.75rem; }
.mr-4 { margin-right: 1rem; }
.mr-5 { margin-right: 1.25rem; }
.mr-6 { margin-right: 1.5rem; }
.mr-8 { margin-right: 2rem; }
.mr-10 { margin-right: 2.5rem; }
.mr-12 { margin-right: 3rem; }
.mr-16 { margin-right: 4rem; }
.mr-20 { margin-right: 5rem; }
.mr-auto { margin-right: auto; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-6xl { font-size: 3.75rem; line-height: 1; }
.text-7xl { font-size: 4.5rem; line-height: 1; }
.text-8xl { font-size: 6rem; line-height: 1; }
.text-\[10px\] { font-size: 10px; }
.text-\[11px\] { font-size: 11px; }
.font-thin { font-weight: 100; }
.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.font-black { font-weight: 900; }
.font-sans { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.font-serif { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.uppercase { text-transform: uppercase; }
.italic { font-style: italic; }
.leading-tight { line-height: 1.25; }
.leading-snug { line-height: 1.375; }
.leading-relaxed { line-height: 1.625; }
.leading-normal { line-height: 1.5; }
.tracking-wider { letter-spacing: 0.05em; }
.tracking-\[0\.15em\] { letter-spacing: 0.15em; }
.list-disc { list-style-type: disc; }
.list-decimal { list-style-type: decimal; }
.whitespace-nowrap { white-space: nowrap; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.text-primary { color: #1a5632; }
.text-secondary { color: #d46a25; }
.text-white { color: #ffffff; }
.text-slate-300 { color: #94a3b8; }
.text-slate-400 { color: #94a3b8; }
.text-slate-500 { color: #64748b; }
.text-slate-600 { color: #475569; }
.text-slate-700 { color: #334155; }
.text-slate-800 { color: #1e293b; }
.text-red-400 { color: #f87171; }
.text-white\/50 { color: rgba(255,255,255,0.5); }
.text-white\/60 { color: rgba(255,255,255,0.6); }
.text-white\/70 { color: rgba(255,255,255,0.7); }
.text-white\/80 { color: rgba(255,255,255,0.8); }
.text-\[$\#1a5632\], .text-\[\#1a5632\] { color: #1a5632; }
.text-\[$\#3b8b5e\], .text-\[\#3b8b5e\] { color: #3b8b5e; }
.text-\[$\#f5b041\], .text-\[\#f5b041\] { color: #f5b041; }
.bg-primary { background-color: #1a5632; }
.bg-bg_cream { background-color: #f8f6f2; }
.bg-white { background-color: #ffffff; }
.bg-transparent { background-color: transparent; }
.bg-slate-100 { background-color: #f1f5f9; }
.bg-slate-700 { background-color: #334155; }
.bg-slate-800 { background-color: #1e293b; }
.bg-slate-900 { background-color: #0f172a; }
.bg-secondary { background-color: #d46a25; }
.bg-primary\/10 { background-color: rgba(26,86,50,0.1); }
.bg-secondary\/10 { background-color: rgba(212,106,37,0.1); }
.bg-white\/10 { background-color: rgba(255,255,255,0.1); }
.bg-white\/95 { background-color: rgba(255,255,255,0.95); }
.bg-\[\#e8f5e9\], .bg-\[#e8f5e9\] { background-color: #e8f5e9; }
.border-0 { border-width: 0px; }
.border-2 { border-width: 2px; }
.border { border-width: 1px; }
.border-t { border-top-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-b-2 { border-bottom-width: 2px; }
.border-none { border-style: none; }
.rounded-sm { border-radius: 0.125rem; }
.rounded { border-radius: 0.25rem; }
.rounded-md { border-radius: 0.375rem; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.rounded-full { border-radius: 9999px; }
.border-slate-100 { border-color: #f1f5f9; }
.border-slate-200 { border-color: #e2e8f0; }
.border-gray-100 { border-color: #f3f4f6; }
.border-slate-800 { border-color: #1e293b; }
.border-black\/5 { border-color: rgba(0,0,0,0.05); }
.border-transparent { border-color: transparent; }
.border-primary { border-color: #1a5632; }
.border-\[\#e8f5e9\] { border-color: #e8f5e9; }
.border-white\/10 { border-color: rgba(255,255,255,0.1); }
.border-white\/20 { border-color: rgba(255,255,255,0.2); }
.border-slate-200\/60 { border-color: rgba(226,232,240,0.6); }
.w-full { width: 100%; }
.w-5 { width: 1.25rem; }
.w-8 { width: 2rem; }
.w-9 { width: 2.25rem; }
.w-10 { width: 2.5rem; }
.w-12 { width: 3rem; }
.w-14 { width: 3.5rem; }
.w-24 { width: 6rem; }
.h-0.5 { height: 0.125rem; }
.h-8 { height: 2rem; }
.h-9 { height: 2.25rem; }
.h-10 { height: 2.5rem; }
.h-12 { height: 3rem; }
.h-14 { height: 3.5rem; }
.h-24 { height: 6rem; }
.min-h-screen { min-height: 100vh; }
.min-h-\[70vh\] { min-height: 70vh; }
.aspect-\[4\/3\] { aspect-ratio: 4/3; }
.max-w-none { max-width: none; }
.max-w-sm { max-width: 24rem; }
.max-w-md { max-width: 28rem; }
.max-w-lg { max-width: 32rem; }
.max-w-xl { max-width: 36rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-6xl { max-width: 72rem; }
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.sticky { position: sticky; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.top-0 { top: 0; }
.bottom-6 { bottom: 1.5rem; }
.right-6 { right: 1.5rem; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-50 { z-index: 50; }
.top-\[10%\] { top: 10%; }
.top-\[20%\] { top: 20%; }
.bottom-\[15%\] { bottom: 15%; }
.bottom-\[25%\] { bottom: 25%; }
.left-\[5%\] { left: 5%; }
.left-\[15%\] { left: 15%; }
.right-\[8%\] { right: 8%; }
.right-\[20%\] { right: 20%; }
.opacity-0 { opacity: 0; }
.opacity-20 { opacity: 0.2; }
.opacity-30 { opacity: 0.3; }
.opacity-40 { opacity: 0.4; }
.opacity-\[0\.06\] { opacity: 0.06; }
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); }
.shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); }
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.transition-shadow { transition-property: box-shadow; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.transition-opacity { transition-property: opacity; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.duration-200 { transition-duration: 200ms; }
.duration-300 { transition-duration: 300ms; }
.transform { transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:-translate-y-0\.5:hover { --tw-translate-y: -0.125rem; transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:-translate-y-1:hover { --tw-translate-y: -0.25rem; }
.hover\:bg-\[\#0d3b1a\]:hover { background-color: #0d3b1a; }
.hover\:bg-\[\#1877f2\]:hover { background-color: #1877f2; }
.hover\:bg-\[\#1da1f2\]:hover { background-color: #1da1f2; }
.hover\:bg-\[\#25d366\]:hover { background-color: #25d366; }
.hover\:bg-\[\#b8591e\]:hover { background-color: #b8591e; }
.hover\:bg-bg_cream:hover { background-color: #f8f6f2; }
.hover\:bg-slate-100:hover { background-color: #f1f5f9; }
.hover\:bg-primary:hover { background-color: #1a5632; }
.hover\:bg-white\/20:hover { background-color: rgba(255,255,255,0.2); }
.hover\:shadow-md:hover { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }
.hover\:shadow-xl:hover { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); }
.hover\:text-primary:hover { color: #1a5632; }
.hover\:text-white:hover { color: #ffffff; }
.hover\:underline:hover { text-decoration: underline; }
.group:hover .group-hover\:text-primary { color: #1a5632; }
.group:hover .group-hover\:text-secondary { color: #d46a25; }
.group:hover .group-hover\:bg-white\/15 { background-color: rgba(255,255,255,0.15); }
.group:hover .group-hover\:shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }
.group:hover .group-hover\:scale-105 { --tw-scale-x: 1.05; --tw-scale-y: 1.05; transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.group:hover .group-hover\:scale-110 { --tw-scale-x: 1.1; --tw-scale-y: 1.1; transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; }
.focus\:ring-2:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-primary\/30:focus { --tw-ring-color: rgba(26,86,50,0.3); }
.focus-within\:border-primary:focus-within { border-color: #1a5632; }
.backdrop-blur-sm { --tw-backdrop-blur: blur(4px); -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }
.backdrop-blur-md { --tw-backdrop-blur: blur(12px); }
.backdrop-blur-lg { --tw-backdrop-blur: blur(16px); }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
.from-primary { --tw-gradient-from: #1a5632; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(26,86,50,0)); }
.from-bg_cream { --tw-gradient-from: #f8f6f2; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(248,246,242,0)); }
.from-\[\#1a5632\] { --tw-gradient-from: #1a5632; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(26,86,50,0)); }
.from-\[\#3b8b5e\] { --tw-gradient-from: #3b8b5e; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(59,139,94,0)); }
.via-\[\#0d3b1a\] { --tw-gradient-via: #0d3b1a; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, rgba(13,59,26,0)); }
.to-\[\#1a1a2e\] { --tw-gradient-to: #1a1a2e; }
.to-\[\#1a5632\] { --tw-gradient-to: #1a5632; }
.to-\[\#e8f5e9\] { --tw-gradient-to: #e8f5e9; }
.to-slate-200 { --tw-gradient-to: #e2e8f0; }

.cursor-pointer { cursor: pointer; }
.overflow-hidden { overflow: hidden; }
.overflow-y-auto { overflow-y: auto; }
.pointer-events-none { pointer-events: none; }
.invisible { visibility: hidden; }
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.no-underline { text-decoration: none; }
.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
.mx-auto { margin-left: auto; margin-right: auto; }
.float-right { float: right; }
.sticky { position: sticky; top: 0; }
.widget { max-width: 100%; }

.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* === RESPONSIVE === */
@media (min-width: 640px) {
  .text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
  .text-5xl { font-size: 3rem; line-height: 1; }
  .text-6xl { font-size: 3.75rem; line-height: 1; }
  .text-8xl { font-size: 6rem; line-height: 1; }
  .text-base { font-size: 1rem; line-height: 1.5rem; }
  .text-lg { font-size: 1.125rem; line-height: 1.75rem; }
  .sm\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
  .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
  .text-xs { font-size: 0.75rem; line-height: 1rem; }
  .flex-row { flex-direction: row; }
  .gap-0 { gap: 0; }
  .gap-5 { gap: 1.25rem; }
  .gap-6 { gap: 1.5rem; }
  .gap-8 { gap: 2rem; }
  .min-h-\\[80vh\\] { min-height: 80vh; }
  .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
  .py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .py-12 { padding-top: 3rem; padding-bottom: 3rem; }
  .py-16 { padding-top: 4rem; padding-bottom: 4rem; }
  .py-20 { padding-top: 5rem; padding-bottom: 5rem; }
  .py-3\\.5 { padding-top: 0.875rem; padding-bottom: 0.875rem; }
  .p-5 { padding: 1.25rem; }
  .p-8 { padding: 2rem; }
  .mb-10 { margin-bottom: 2.5rem; }
  .mb-4 { margin-bottom: 1rem; }
  .rounded-r-none { border-radius: 0; }
  .text-right { font-size: right; }
  .sm\:inline { display: inline; }
}
@media (min-width: 1024px) {
  .gap-12 { gap: 3rem; }
  .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .justify-start { justify-content: flex-start; }
  .mx-0 { margin-left: 0; margin-right: 0; }
  .px-8 { padding-left: 2rem; padding-right: 2rem; }
  .text-left { font-size: left; }
  .text-5xl { font-size: 3rem; line-height: 1; }
  .text-6xl { font-size: 3.75rem; line-height: 1; }
}

/* === CONTENT PROSE === */

/* Prose-style clases for post content */
.prose {
    max-width: 65ch;
}
.prose-slate {
    --tw-prose-body: #334155;
    --tw-prose-headings: #1e293b;
    --tw-prose-links: #1a5632;
    --tw-prose-bold: #1e293b;
    --tw-prose-bullets: #94a3b8;
}
.prose :where(h2):not(:where([class~="not-prose"] *)) {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 2rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e8f5e9;
}
.prose :where(h3):not(:where([class~="not-prose"] *)) {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.prose :where(ul):not(:where([class~="not-prose"] *)) {
    list-style-type: disc;
    padding-left: 1.5rem;
    margin-bottom: 1.25rem;
}
.prose :where(ol):not(:where([class~="not-prose"] *)) {
    list-style-type: decimal;
    padding-left: 1.5rem;
    margin-bottom: 1.25rem;
}
.prose :where(li):not(:where([class~="not-prose"] *)) {
    margin-bottom: 0.375rem;
}
.prose :where(table):not(:where([class~="not-prose"] *)) {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
}
.prose :where(thead):not(:where([class~="not-prose"] *)) {
    background-color: #1a5632;
    color: #ffffff;
}
.prose :where(th):not(:where([class~="not-prose"] *)) {
    padding: 0.75rem;
    text-align: left;
    font-weight: 600;
}
.prose :where(td):not(:where([class~="not-prose"] *)) {
    padding: 0.75rem;
    border-bottom: 1px solid #f1f5f9;
}
.prose tbody tr:nth-child(even) {
    background-color: #f8f6f2;
}
.prose tbody tr:hover {
    background-color: #e8f5e9;
}
.prose :where(blockquote):not(:where([class~="not-prose"] *)) {
    border-left: 4px solid #1a5632;
    padding-left: 1rem;
    font-style: italic;
    color: #64748b;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

/* === THEME CUSTOM === */

/* Dropdown menus - desktop */
#site-navigation .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 12px;
    padding: 0.5rem 0;
    box-shadow: 0 8px 30px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 100;
    list-style: none;
    margin: 0;
}
#site-navigation .menu-item-has-children:hover > .sub-menu,
#site-navigation .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
#site-navigation .sub-menu .menu-item { margin: 0; padding: 0; }
#site-navigation .sub-menu a {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #475569;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
    white-space: normal;
    line-height: 1.4;
}
#site-navigation .sub-menu a:hover {
    background-color: #f8f6f2;
    color: #1a5632;
}
#site-navigation .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    margin-left: 5px;
    transform: rotate(45deg);
    vertical-align: middle;
    margin-top: -2px;
    opacity: 0.6;
}

/* Mobile menu */
#mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease;
    opacity: 0;
}
#mobile-menu.open {
    max-height: 70vh;
    opacity: 1;
}
#mobile-menu .sub-menu {
    padding-left: 1rem;
    margin: 0;
    list-style: none;
    border-left: 2px solid #e8f5e9;
    margin-left: 0.5rem;
}
#mobile-menu .sub-menu a {
    font-size: 0.8125rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    color: #64748b;
}

/* Donar button desktop */
#site-navigation .menu-item-donar > a {
    background: #1a5632;
    color: #ffffff;
    border-radius: 9999px;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: 0.5rem;
}
#site-navigation .menu-item-donar > a:hover {
    background: #0d3b1a;
    color: #ffffff;
}
#mobile-menu .menu-item-donar > a {
    color: #1a5632;
    font-weight: 700;
}
#mobile-menu .menu-item-donar > a::before {
    content: '\f004';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 0.5rem;
    font-size: 0.75rem;
}

/* Screen reader text */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* Breadcrumb separator */
.breadcrumb-sep {
    margin: 0 0.4rem;
    color: #94a3b8;
}

/* Required field asterisk */
.required-field-suffix { color: #dc2626; }

/* Fade-in for lazy images */
img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.4s ease;
}
img[loading="lazy"].loaded,
img[loading="lazy"][src]:not([src=""]) {
    opacity: 1;
}

/* Placeholder text */
.placeholder-slate-400::placeholder { color: #94a3b8; }

/* Accessibility utilities */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* === ENTRY CONTENT (single.php) === */
.entry-content h2{font-family:'Playfair Display',Georgia,Times New Roman,serif;font-weight:700;color:#1a5632;margin-top:2rem;margin-bottom:1rem;line-height:1.25;font-size:1.5rem}
.entry-content h3{font-family:'Playfair Display',Georgia,Times New Roman,serif;font-weight:700;color:#1a5632;margin-top:2rem;margin-bottom:1rem;line-height:1.25;font-size:1.25rem}
@media(min-width:640px){.entry-content h2{font-size:1.875rem}.entry-content h3{font-size:1.5rem}}
.entry-content p{margin-bottom:1rem;color:#1e293b}
.entry-content ul,.entry-content ol{margin-bottom:1rem;padding-left:1.5rem}
.entry-content ul>li,.entry-content ol>li{margin-bottom:.5rem}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content li{color:#1e293b}
.entry-content a{color:#1a5632;text-decoration:underline;transition:color .2s}
.entry-content a:hover{color:#d46a25}
.entry-content blockquote{border-left:4px solid #d46a25;background:#f8f6f2;padding:.5rem 1rem;margin:1.5rem 0;font-style:italic;color:#64748b}
.entry-content img{border-radius:.75rem;max-width:100%;height:auto;margin:1.5rem 0}
.entry-content figure{margin:1.5rem 0}
.entry-content figcaption{font-size:.75rem;color:#64748b;text-align:center;margin-top:.5rem;font-style:italic}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.875rem}
.entry-content th{background:#1a5632;color:#fff;padding:.5rem .75rem;text-align:left;font-weight:600}
.entry-content td{border:1px solid #e5e7eb;padding:.5rem .75rem;color:#374151}
.entry-content tr:nth-child(even) td{background:#f8f6f2}
.entry-content pre,.entry-content code{background:#f1f5f9;color:#1e293b;font-size:.875rem;border-radius:.25rem;padding:.125rem .375rem}
.entry-content pre{padding:1rem;overflow-x:auto;margin:1.5rem 0}
.entry-content pre code{background:transparent;padding:0}
.entry-content hr{margin:2rem 0;border:0;border-top:1px solid #e5e7eb}
@media(max-width:640px){.entry-content table{font-size:.75rem}.entry-content td,.entry-content th{padding:.375rem .5rem}.entry-content blockquote{padding-left:.75rem;padding-top:.375rem;padding-bottom:.375rem}}

/* === BIRD SPECIES COMPONENTS === */
.object-cover{object-fit:cover}
.aspect-video{aspect-ratio:16/9}
.bg-primary\/5{background-color:rgba(26,86,50,0.05)}
.bg-secondary\/5{background-color:rgba(212,106,37,0.05)}
.bg-slate-50{background-color:#f8fafc}
.bg-gray-400{background-color:#9ca3af}
.bg-red-50\/50{background-color:rgba(254,242,242,0.5)}
.border-red-100{border-color:#fee2e2}
.hover\:bg-primary\/10:hover{background-color:rgba(26,86,50,0.1)}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1)}
.text-red-500{color:#ef4444}
.text-red-700{color:#b91c1c}
.text-green-500{color:#22c55e}
.text-blue-500{color:#3b82f6}
.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}
.text-primary\/20{color:rgba(26,86,50,0.2)}
.text-primary\/30{color:rgba(26,86,50,0.3)}
.gap-10{gap:2.5rem}
.order-1{order:1}
.order-2{order:2}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.from-primary\/5{--tw-gradient-from:rgba(26,86,50,0.05);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(26,86,50,0))}
.from-primary\/10{--tw-gradient-from:rgba(26,86,50,0.1);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(26,86,50,0))}
.to-secondary\/5{--tw-gradient-to:rgba(212,106,37,0.05)}
.to-secondary\/10{--tw-gradient-to:rgba(212,106,37,0.1)}
.to-white{--tw-gradient-to:#ffffff}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.space-y-1>*+*{margin-top:0.25rem}
.space-y-3>*+*{margin-top:0.75rem}
.space-y-6>*+*{margin-top:1.5rem}
.aves-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.aves-gallery-item{border-radius:.75rem;overflow:hidden}
.aves-gallery-item img{width:100%;height:200px;object-fit:cover;display:block}
@media(min-width:640px){
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
.sm\:pt-12{padding-top:3rem}
.sm\:text-2xl{font-size:1.5rem;line-height:2rem}
.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.sm\:h-\[400px\]{height:400px}
}
@media(min-width:1024px){
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.lg\:col-span-1{grid-column:span 1/span 1}
.lg\:col-span-2{grid-column:span 2/span 2}
.lg\:gap-12{gap:3rem}
.lg\:order-1{order:1}
.lg\:order-2{order:2}
.lg\:px-8{padding-left:2rem;padding-right:2rem}
.lg\:py-12{padding-top:3rem;padding-bottom:3rem}
.lg\:text-5xl{font-size:3rem;line-height:1}
.lg\:h-\[500px\]{height:500px}
}
