/* Aprender Haciendo — hoja de estilos local
   Reemplaza la dependencia de Tailwind CDN para que el sitio no dependa de cdn.tailwindcss.com. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f9fafb;color:#1f2937;font-family:Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body::selection{background:#2563eb;color:#fff}
body.modal-open{overflow:hidden!important}
a{color:inherit}
button,input,textarea{font:inherit}

/* Layout */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-4{top:1rem}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.bottom-0{bottom:0}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.right-6{right:1.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.block{display:block}.flex-col{flex-direction:column}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.my-0{margin-top:0;margin-bottom:0}.my-\[-6px\]{margin-top:-6px;margin-bottom:-6px}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}
.w-0{width:0}.w-full{width:100%}.w-auto{width:auto}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-24{width:6rem}.w-32{width:8rem}.w-56{width:14rem}.w-64{width:16rem}.w-72{width:18rem}.h-full{height:100%}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-56{height:14rem}.h-64{height:16rem}.h-72{height:18rem}.min-h-screen{min-height:100vh}
.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}
.p-0\.5{padding:.125rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-12{padding-top:3rem}.pb-6{padding-bottom:1.5rem}.pb-20{padding-bottom:5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.space-x-8>*+*{margin-left:2rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.space-y-12>*+*{margin-top:3rem}.space-y-16>*+*{margin-top:4rem}

/* Typography */
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.uppercase{text-transform:uppercase}.text-transparent{color:transparent}.text-\[5px\]{font-size:5px;line-height:1}.text-\[6px\]{font-size:6px;line-height:1}.text-\[10px\]{font-size:10px;line-height:1}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.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}.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}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-\[1\.15\]{line-height:1.15}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}

/* Colors */
.bg-white{background:#fff}.bg-gray-50{background:#f9fafb}.bg-gray-100{background:#f3f4f6}.bg-gray-900{background:#111827}.bg-gray-800\/80{background:rgba(31,41,55,.8)}.bg-blue-100{background:#dbeafe}.bg-blue-100\/60{background:rgba(219,234,254,.6)}.bg-blue-100\/80{background:rgba(219,234,254,.8)}.bg-green-100{background:#dcfce7}.bg-green-500{background:#22c55e}.bg-indigo-100{background:#e0e7ff}.bg-indigo-600{background:#4f46e5}.bg-lime-100{background:#ecfccb}.bg-lime-950{background:#1a2e05}.bg-white\/20{background:rgba(255,255,255,.2)}.bg-white\/95{background:rgba(255,255,255,.95)}.bg-brand-blue{background:#2563eb}.bg-brand-lime{background:#84cc16}.bg-brand-blue\/10{background:rgba(37,99,235,.1)}.bg-brand-blue\/20{background:rgba(37,99,235,.2)}.bg-brand-lime\/20{background:rgba(132,204,22,.2)}
.text-white{color:#fff}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}.text-blue-50{color:#eff6ff}.text-blue-100{color:#dbeafe}.text-blue-400{color:#60a5fa}.text-green-800{color:#166534}.text-red-500{color:#ef4444}.text-indigo-400{color:#818cf8}.text-indigo-600{color:#4f46e5}.text-brand-blue{color:#2563eb}.text-brand-darkblue{color:#1e3a8a}.text-brand-lime{color:#84cc16}.text-brand-darklime{color:#65a30d}

/* Borders / radius / shadows */
.border{border:1px solid #e5e7eb}.border-2{border:2px solid}.border-4{border:4px solid}.border-b{border-bottom:1px solid #e5e7eb}.border-t{border-top:1px solid #e5e7eb}.border-y{border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-200\/60{border-color:rgba(229,231,235,.6)}.border-gray-300{border-color:#d1d5db}.border-gray-700{border-color:#374151}.border-gray-800{border-color:#1f2937}.border-blue-100{border-color:#dbeafe}.border-blue-200{border-color:#bfdbfe}.border-brand-blue{border-color:#2563eb}.border-brand-lime{border-color:#84cc16}.border-lime-800{border-color:#3f6212}.border-pink-100{border-color:#fce7f3}.border-pink-300{border-color:#f9a8d4}
.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.shadow-glow{box-shadow:0 0 25px -5px rgba(37,99,235,.4)}

/* Gradients */
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.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))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(239,246,255,0))}.from-blue-50\/50{--tw-gradient-from:rgba(239,246,255,.5);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(239,246,255,0))}.from-brand-blue{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(37,99,235,0))}.from-pink-100{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(252,231,243,0))}.from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(236,72,153,0))}.from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(219,39,119,0))}.via-purple-50{--tw-gradient-stops:var(--tw-gradient-from),#faf5ff,var(--tw-gradient-to,rgba(250,245,255,0))}.via-purple-600{--tw-gradient-stops:var(--tw-gradient-from),#9333ea,var(--tw-gradient-to,rgba(147,51,234,0))}.via-indigo-50{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to,rgba(238,242,255,0))}.via-indigo-600{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to,rgba(79,70,229,0))}.via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to,rgba(255,255,255,0))}.to-white{--tw-gradient-to:#fff}.to-gray-50{--tw-gradient-to:#f9fafb}.to-indigo-600{--tw-gradient-to:#4f46e5}.to-indigo-800{--tw-gradient-to:#3730a3}.to-blue-900{--tw-gradient-to:#1e3a8a}.to-brand-lime{--tw-gradient-to:#84cc16}.to-pink-50{--tw-gradient-to:#fdf2f8}.bg-clip-text{-webkit-background-clip:text;background-clip:text}

/* Effects */
.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.opacity-100{opacity:1}.overflow-hidden{overflow:hidden}.pointer-events-none{pointer-events:none}.select-none{user-select:none}.filter{filter:var(--tw-filter)}.blur-3xl{filter:blur(64px)}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.scale-95{transform:scale(.95)}.scale-105{transform:scale(1.05)}.translate-x-6{transform:translateX(1.5rem)}.translate-y-6{transform:translateY(1.5rem)}.-translate-x-6{transform:translateX(-1.5rem)}.-translate-y-6{transform:translateY(-1.5rem)}.rotate-180{transform:rotate(180deg)}
.transition-all{transition:all .3s ease}.transition-colors{transition:color,background-color,border-color .3s ease}.transition-shadow{transition:box-shadow .3s ease}.transition-transform{transition:transform .3s ease}.duration-300{transition-duration:300ms}.duration-\[2500ms\]{transition-duration:2500ms}.duration-\[3000ms\]{transition-duration:3000ms}.ease-linear{transition-timing-function:linear}

/* Grid */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{}.md\:grid-cols-3{}.lg\:grid-cols-12{}

/* Common components */
header{width:100%}
section{width:100%}
form input,form textarea{display:block}

/* Hero / header exact utilities */
.selection\:bg-brand-blue::selection{background:#2563eb}.selection\:text-white::selection{color:#fff}
.hover\:bg-brand-darkblue:hover{background:#1e3a8a}.hover\:bg-gray-100:hover{background:#f3f4f6}.hover\:bg-gray-200:hover{background:#e5e7eb}.hover\:text-brand-blue:hover{color:#2563eb}.hover\:shadow-glow:hover{box-shadow:0 0 25px -5px rgba(37,99,235,.4)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.hover\:border-blue-500:hover{border-color:#3b82f6}.hover\:border-indigo-500:hover{border-color:#6366f1}.hover\:border-red-500:hover{border-color:#ef4444}.group-hover\:scale-105:hover{transform:scale(1.05)}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{box-shadow:0 0 0 2px #2563eb}

/* Font Awesome fallback: keeps icons visible without external CDN */
.fa-solid,.fa-brands{font-style:normal;font-family:Arial,sans-serif;font-weight:700}.fa-bars::before{content:'☰'}.fa-whatsapp::before{content:'◉'}.fa-forward::before{content:'»'}.fa-bullhorn::before{content:'📣'}.fa-users::before{content:'♟'}.fa-bullseye::before{content:'◎'}.fa-comments::before{content:'💬'}.fa-chalkboard-user::before{content:'▣'}.fa-circle-check::before{content:'✓'}.fa-handshake::before{content:'🤝'}.fa-hands-holding-child::before{content:'♧'}.fa-people-roof::before{content:'⌂'}.fa-user-tie::before{content:'♙'}.fa-paper-plane::before{content:'➤'}

/* Responsive */
@media (min-width:640px){
  .sm\:flex-row{flex-direction:row}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:w-auto{width:auto}.sm\:w-64{width:16rem}.sm\:w-80{width:20rem}.sm\:h-64{height:16rem}.sm\:h-80{height:20rem}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:translate-x-10{transform:translateX(2.5rem)}.sm\:translate-y-10{transform:translateY(2.5rem)}.sm\:-translate-x-10{transform:translateX(-2.5rem)}.sm\:-translate-y-10{transform:translateY(-2.5rem)}
}
@media (min-width:768px){
  .md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-right{text-align:right}
}
@media (min-width:1024px){
  .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:text-left{text-align:left}.lg\:justify-start{justify-content:flex-start}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:max-w-none{max-width:none}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}
}

/* Tailwind-like gradient stop helper for exact rendering */
.bg-gradient-to-b,.bg-gradient-to-br,.bg-gradient-to-r,.bg-gradient-to-tr{background-color:transparent}

/* Intro SVG and cards */
#intro-overlay{background:#fff}

/* Ensure sections don't collapse on narrow screens */
@media (max-width:767px){
  .grid.lg\:grid-cols-12{grid-template-columns:1fr}
  .lg\:col-span-5,.lg\:col-span-7{grid-column:auto}
  .hidden.md\:flex{display:none}
}
