:root { color-scheme: light; }
html { scroll-behavior: smooth; }

.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{
  left:1rem;top:1rem;width:auto;height:auto;padding:.75rem 1rem;
  background:white;border:1px solid rgba(15,23,42,.15);border-radius:.75rem;z-index:1000;
}

/* Utilidad sencilla sin plugin */
.line-clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Patrón suave */
.bg-grid{
  background-image: radial-gradient(circle at 1px 1px, rgba(15,23,42,.08) 1px, transparent 0);
  background-size: 24px 24px;
}


.relative.left-1\/2.-translate-x-1\/2.w-\[100vw\].overflow-hidden.h-\[320px\].sm\:h-\[400px\].md\:h-\[480px\] {
  margin-top: -2rem !important;
}


.mt-6.flex.flex-col.sm\:flex-row.gap-3.items-start {
  display: block;
}

html, body {
  overflow-x: hidden;
}

.text-blue {
  color: #2563eb !important;
}                

.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: #00316E var(--tw-gradient-to-position) !important;
}

.ml-2.inline-flex.items-center.gap-2.px-3.py-2.rounded-xl.bg-slate-900.text-white.text-sm.font-medium.hover\:opacity-90 {
background-color: #16a34a var(--tw-gradient-to-position) !important;
}

.mt-5.font-semibold {
  margin-top: 0px;
}

.mx-auto.max-w-6xl.px-4.mb-10 {
  margin-bottom: 0px !important;
}

.space-y-8 {
  margin-top: 2.5rem !important;
  margin-bottom: 1rem;
}

.leading-tight2 {
  font-size: x-large !important;
}

.max-w-3xl-dos {
  max-width: 48rem;
  margin-bottom: -5rem;
}

.bgfooter {
  background-color: #EDF0F1 !important;
}

.botonazul {
  background-color: #00316E !important;
  color: #FFF !important;
}

.bgcontacto {
  background-color: darkgrey;
}

.topcontent {
  padding-top: 2rem !important;
  padding-bottom: 1rem !important;
}

.topportafolio {
    padding-top: 0rem !important;
    padding-bottom: 1rem !important;
  }