/*--------------------------------------------------------------
# Estilos globales
--------------------------------------------------------------*/
@font-face {font-family: UBB; src: url("../font/UBB.otf") format("opentype");}
@font-face {font-family: UBB-light; src: url("../font/UBB-light.otf") format("opentype");}
body {font-size: 16px; font-family: 'Fira Sans', sans-serif; letter-spacing: -.3px; color: #4D596E}
.wrapper {max-width: 1100px; margin: 0px auto;}
.wrapper-extend {max-width: 1250px; margin: 0px auto;}
.line-grad {height: 10px ;background: rgb(5,68,177); background: linear-gradient(90deg, rgba(5,68,177,1) 0%, rgba(211,219,222,1) 30%, rgba(254,204,55,1) 67%, rgba(254,55,55,1) 100%);}
h1, h2, h3, h4, h5 {color: #1B2E51;font-family: 'UBB';}
h1 {font-size: 2.6rem;}
h2 {font-size: 2.5rem;}
h3 {font-size: 1.6rem;}
h4 {font-size: 1.4rem;}
a {text-decoration: none; color: #1d3c88}
a:hover {color: #0fa19d;}
.font-ubb {font-family: UBB;}
ol, ul {list-style: none; margin-bottom: 0px!important; padding-inline-start: 0px !important;}

/*--------------------------------------------------------------
# scroll
--------------------------------------------------------------*/
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track {border-radius: 0; }
::-webkit-scrollbar-thumb {border-radius: 0; background: #162f5a; }
::-webkit-scrollbar-thumb:window-inactive { background: #162f5a; }

.navbar {box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 8px;}
/*--------------------------------------------------------------
# footer
--------------------------------------------------------------*/
footer {background-color: #1B2E51; color: #ffffff;  font-weight: 300;}
footer strong {color: #519fd7;}
footer .copyright {background-color: #172949}
footer ul li {border-bottom: 1px solid rgba(255,255,255,0.25); text-align: center;}
footer a {color: #ffffff; transition: all ease .2s;}
footer a:hover {color: #519fd7 !important}
footer .social-menu .social-icon{fill:#d9dfe5; transition: ease all .2s;}
footer .social-menu a:hover svg path{fill:#519fd7;}

/* -----------------------------------
   Scroll to top
----------------------------------- */
.scroll-btn {position: fixed;bottom: 35px;right: 20px;width: 50px;height: 50px;border: none;cursor: pointer;opacity: 0;transition: opacity .15s linear;display: flex;align-items: center;justify-content: center;}
.progress-square { position: absolute; top: 0; left: 0;}
.progress-square rect { fill: none; stroke-width: 3; rx: .25rem; ry: .25rem;}
.progress-square .bg { stroke: rgba(0, 0, 0, 0.1);}
.progress-square .progress { stroke: #519fd7; stroke-dasharray: 168; stroke-dashoffset: 168; transition: stroke-dashoffset .1s linear; height: 43px;}
.arrow { position: relative; z-index: 2; font-size: 20px; font-weight: bold; color: #519fd7;}
.scroll-btn.footer-contrast .progress-square .progress { stroke: #54637d !important;}
.scroll-btn.footer-contrast .arrow { color: white !important;}






.navbar {
	background-color: #ffffff;
	border-bottom: 1px solid #e9ecef;
}
.navbar-nav {
	gap: .5rem !important; /* antes 3 de bootstrap, ahora más elegante */
}

.navbar-brand {
	font-family: UBB;
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--secondary);
}

.navbar-brand:hover {
	color: var(--secondary);
}

.nav-link {
	color: var(--secondary);
	font-weight: 600;
	font-size: 1.1rem;
	padding: 1rem 0.9rem;
    padding-left: 1rem !important;
	padding-right: 1rem !important;
	border-radius: 0.25rem;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.nav-link:hover {
	background-color: #f2f6fb;
	color: #188cff;
}

.nav-link.active {
	background-color: #e9f2ff;
	color: #188cff;
}
.btn-menu-responsive{
  background-color: #519fd7;
  border: 0;
  padding: 10px 16px;
  border-radius: .5rem;
  color: #ffffff !important;
  font-weight: 700;
  transition: transform .15s ease, background-color .15s ease;
}

.btn-menu-responsive:hover{
  background-color: #4288bb;
}


.offcanvas {
	background-color: #ffffff;
}
.offcanvas .offcanvas-body {
	padding: 30px;
}
.offcanvas .nav-link {
	font-size: 1.05rem;
	padding: 0.6rem 0.25rem;
	border-radius: 0.25rem;
	position: relative;
}
.offcanvas .nav-link::after {content: ""; position: absolute; left: 3px; right: 3px; bottom: 0; height: 1px; background: rgba(0,0,0,.2);}

.offcanvas .nav-link:hover {
	background-color: #f2f6fb;
}

.navbar .container {
	min-height: 76px;
}


/*hero*/
/* HERO */
.hero{
  position: relative;
  overflow: hidden;
  background: linear-gradient(310deg, #479bdb, #1d9dff);
  padding: 250px 0 140px;
}

.hero-content{
  position: relative;
  z-index: 2;
}

.hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* clave */
	pointer-events: none;
	z-index: 1;
}


.hero-bg .c{
  fill: none;
  stroke: rgba(255,255,255,.28);
  stroke-width: 2.5;
}

.hero-bg .ring .c{
  stroke: rgba(255,255,255,.20);
}

/* Un poquito más “premium” sin dejar de ser flat */
.hero::after{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at 20% 25%, rgba(255,255,255,.14), transparent 55%),
              radial-gradient(circle at 85% 70%, rgba(255,255,255,.10), transparent 60%);
  z-index: 1;
  pointer-events:none;
}

/* Título */
.hero h1{
  color:#fff;
  font-family:'UBB';
  text-transform: uppercase;
}

/* Botón (flat y más coherente con el hero) */
.hero .btn-primary{
  background-color: rgba(255,255,255,.92);
  border: 0;
  padding: 14px 36px;
  border-radius: .5rem;
  color: #12324a;
  font-weight: 700;
  transition: transform .15s ease, background-color .15s ease;
}

.hero .btn-primary:hover{
  background-color: #fff;
  transform: translateY(-1px);
}

/* SECTIONS BASE */
.section-description {
	background-color: #ffffff;
}

#ejes ul{
    padding-left: 1.5rem !important;
    list-style-type: square;
}

/* Eyebrow */
/* Eyebrow */
.icon-circle {
    width: 80px;
    height: 80px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* box-shadow: 0 0 10px rgba(0,0,0,0.1); */
    flex-shrink: 0;
}

.icon-circle i {
    font-size: 2.5rem;
    color: #519fd7; /* azul bootstrap */
}

/* Botón (flat y más coherente con el hero) */
.btn-primary{
  background-color: #519fd7;
  border: 0;
  padding: 14px 36px;
  border-radius: .5rem;
  color: #ffffff;
  font-weight: 700;
  transition: transform .15s ease, background-color .15s ease;
}

.btn-primary:hover{
  background-color: #4288bb;
  transform: translateY(-1px);
}


        #ejes {background-color:#f4f6f6 !important}
        #equipo {background-color: #ffffff !important}
		#denuncias {background-color: #eaeff3 ;}
.team-avatar-lg {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 50%;
    border: 5px solid #d9dde3;
}
.team-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    background-color: #519fd7;
    border-radius: 50%;
    color: white;
    font-size: .9rem;
}


.cls-1{fill:#afc2c9;}
.cls-2{fill:#8fa3aa;}
.cls-3{fill:none;}
.cls-4{fill: #ffffff}