/* ==========================================================================
   tw-espacio9.css — CSS fijo que sustituye a Tailwind por CDN
   --------------------------------------------------------------------------
   Antes cada visita descargaba Tailwind (~120 KB) y GENERABA el CSS en el
   navegador, bloqueando la página. Aquí están ya escritas solo las clases que
   el sitio usa de verdad, con los mismos valores que daba Tailwind.
   Puntos de ruptura: sm 640px · md 768px · lg 1024px.
   Si algún día añades una clase nueva de Tailwind, hay que añadirla aquí.
   ========================================================================== */

/* ── Base (equivalente al preflight de Tailwind) ───────────────────────── */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}
html{-webkit-text-size-adjust:100%;line-height:1.5;tab-size:4}
body{margin:0;line-height:inherit}
hr{height:0;color:inherit;border-top-width:1px}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p,figure,blockquote,dl,dd,pre{margin:0}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
fieldset,legend{margin:0;padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}
button,[role=button]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]{display:none}

/* ── Disposición ───────────────────────────────────────────────────────── */
.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.flex{display:flex}.grid{display:grid}.hidden{display:none}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.grow{flex-grow:1}
.italic{font-style:italic}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.underline{text-decoration-line:underline}
.rounded{border-radius:.25rem}
.inset-0{inset:0}.inset-x-0{left:0;right:0}.top-0{top:0}.left-1\/2{left:50%}
.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[80\]{z-index:80}.z-\[81\]{z-index:81}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.shrink-0{flex-shrink:0}
.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}
.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.col-span-2{grid-column:span 2/span 2}
.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}
.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}
.mx-auto{margin-left:auto;margin-right:auto}
.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-lg{max-width:32rem}
.max-w-\[640px\]{max-width:640px}
.max-w-\[1100px\]{max-width:1100px}.max-w-\[1320px\]{max-width:1320px}

/* ── Espaciado ─────────────────────────────────────────────────────────── */
.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}
.gap-x-1{column-gap:.25rem}.gap-x-3{column-gap:.75rem}.gap-x-7{column-gap:1.75rem}
.gap-x-2\.5{column-gap:.625rem}.gap-x-8{column-gap:2rem}.gap-x-10{column-gap:2.5rem}.gap-x-12{column-gap:3rem}
.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-3{row-gap:.75rem}.gap-y-5{row-gap:1.25rem}.gap-y-6{row-gap:1.5rem}.gap-y-9{row-gap:2.25rem}.gap-y-11{row-gap:2.75rem}
.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}
.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}
.ml-3{margin-left:.75rem}
.p-5{padding:1.25rem}
.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-7{padding-left:1.75rem;padding-right:1.75rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.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-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}
.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-10{padding-top:2.5rem}.pt-14{padding-top:3.5rem}.pt-20{padding-top:5rem}.pt-28{padding-top:7rem}
.pb-2{padding-bottom:.5rem}.pb-8{padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}
.\!px-4{padding-left:1rem!important;padding-right:1rem!important}
.\!py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}

/* ── Tipografía y decoración ───────────────────────────────────────────── */
.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}
.text-\[13px\]{font-size:13px}
.font-medium{font-weight:500}.font-semibold{font-weight:600}
.tracking-tight{letter-spacing:-.025em}
.whitespace-nowrap{white-space:nowrap}
.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}

/* ── Transiciones ──────────────────────────────────────────────────────── */
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}
.group:hover .group-hover\:translate-x-1{transform:translateX(.25rem)}

/* ── sm (≥640px) ───────────────────────────────────────────────────────── */
@media (min-width:640px){
.sm\:inline-flex{display:inline-flex}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sm\:gap-3\.5{gap:.875rem}
.sm\:gap-10{gap:2.5rem}
.sm\:text-\[15px\]{font-size:15px}
.sm\:\!px-7{padding-left:1.75rem!important;padding-right:1.75rem!important}
}

/* ── md (≥768px) ───────────────────────────────────────────────────────── */
@media (min-width:768px){
.md\:block{display:block}
.md\:flex-row{flex-direction:row}
.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}
.md\:justify-between{justify-content:space-between}
.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\:gap-5{gap:1.25rem}
.md\:mt-16{margin-top:4rem}
.md\:pt-32{padding-top:8rem}
.md\:px-8{padding-left:2rem;padding-right:2rem}
.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}
.md\:row-span-2{grid-row:span 2/span 2}
.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-16{padding-left:4rem;padding-right:4rem}
.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-36{padding-top:9rem;padding-bottom:9rem}.md\:py-44{padding-top:11rem;padding-bottom:11rem}
.md\:mb-16{margin-bottom:4rem}
}

/* ── lg (≥1024px) ──────────────────────────────────────────────────────── */
@media (min-width:1024px){
.lg\:block{display:block}
.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-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-12{grid-column:span 12/span 12}
.lg\:order-1{order:1}.lg\:order-2{order:2}
.lg\:gap-4{gap:1rem}.lg\:gap-10{gap:2.5rem}.lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}
.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}
}
